# Copyright (C) 2016, 2017, 2018, 2019, 2020, 2021  Stefan Vargyas
# 
# This file is part of Json-Type.
# 
# Json-Type is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# 
# Json-Type is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with Json-Type.  If not, see <http://www.gnu.org/licenses/>.

#
# json type-lib test suite:
#

$ . ~/regtest2.sh
$ alias json-type-lib-regtest='regtest2-selftest -f test-json-type-lib.txt -a exec=pipe -B'

# output all test names:
$ json-type-lib-regtest -N
...

# run all tests:
$ json-type-lib-regtest -A
...

--[ prereq ]--------------------------------------------------------------------

$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json --literal-value -V -TA "$@"|LD_LIBRARY_PATH=../lib ../src/json --literal-value --from-ast-print --verbose --no-error; }
$

--[ literal-value ]-------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"'; do T="$v"; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< 'null'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: null
json: error: <stdin>:1:1: ^
command failed: json <<< 'null'
$ json <<< 'false'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: false
json: error: <stdin>:1:1: ^
command failed: json <<< 'false'
$ json <<< 'true'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: true
json: error: <stdin>:1:1: ^
command failed: json <<< 'true'
$ json <<< '123'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: 123
json: error: <stdin>:1:1: ^
command failed: json <<< '123'
$ json <<< '"foo"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "foo"
json: error: <stdin>:1:1: ^
command failed: json <<< '"foo"'
$ json <<< '"type"'
"type"
$ json <<< '"null"'
"null"
$ json <<< '"boolean"'
"boolean"
$ json <<< '"number"'
"number"
$ json <<< '"string"'
"string"
$ json <<< '"object"'
"object"
$ json <<< '"array"'
"array"
$ json <<< '"list"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "list"
json: error: <stdin>:1:1: ^
command failed: json <<< '"list"'
$ json <<< '"dict"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "dict"
json: error: <stdin>:1:1: ^
command failed: json <<< '"dict"'
$

--[ object-value ]--------------------------------------------------------------

#
# # meta command:
# $ for n in foo type name plain; do for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]'; do T="{\"$n\":$v}"; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done; done
#
$ json <<< '{"foo":null}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":null}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":null}'
$ json <<< '{"foo":false}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":false}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":false}'
$ json <<< '{"foo":true}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":true}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":true}'
$ json <<< '{"foo":123}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":123}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":123}'
$ json <<< '{"foo":"foo"}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":"foo"}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":"foo"}'
$ json <<< '{"foo":"type"}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":"type"}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":"type"}'
$ json <<< '{"foo":"null"}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":"null"}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":"null"}'
$ json <<< '{"foo":"boolean"}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":"boolean"}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":"boolean"}'
$ json <<< '{"foo":"number"}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":"number"}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":"number"}'
$ json <<< '{"foo":"string"}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":"string"}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":"string"}'
$ json <<< '{"foo":"object"}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":"object"}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":"object"}'
$ json <<< '{"foo":"array"}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":"array"}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":"array"}'
$ json <<< '{"foo":"list"}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":"list"}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":"list"}'
$ json <<< '{"foo":"dict"}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":"dict"}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":"dict"}'
$ json <<< '{"foo":{}}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":{}}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":{}}'
$ json <<< '{"foo":{"foo":"bar"}}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":{"foo":"bar"}}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":{"foo":"bar"}}'
$ json <<< '{"foo":[]}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":[]}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":[]}'
$ json <<< '{"foo":["foo","bar"]}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"foo":["foo","bar"]}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"foo":["foo","bar"]}'
$ json <<< '{"type":null}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":null}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":null}'
$ json <<< '{"type":false}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":false}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":false}'
$ json <<< '{"type":true}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":true}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":true}'
$ json <<< '{"type":123}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":123}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":123}'
$ json <<< '{"type":"foo"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"foo"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"foo"}'
$ json <<< '{"type":"type"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"type"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"type"}'
$ json <<< '{"type":"null"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"null"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"null"}'
$ json <<< '{"type":"boolean"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"boolean"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"boolean"}'
$ json <<< '{"type":"number"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"number"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"number"}'
$ json <<< '{"type":"string"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"string"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"string"}'
$ json <<< '{"type":"object"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: arguments not of size two
json: error: <stdin>:1:1: {"type":"object"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object"}'
$ json <<< '{"type":"array"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: arguments not of size two
json: error: <stdin>:1:1: {"type":"array"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array"}'
$ json <<< '{"type":"list"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: arguments not of size two
json: error: <stdin>:1:1: {"type":"list"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list"}'
$ json <<< '{"type":"dict"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: arguments not of size two or three
json: error: <stdin>:1:1: {"type":"dict"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict"}'
$ json <<< '{"type":{}}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":{}}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":{}}'
$ json <<< '{"type":{"foo":"bar"}}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":{"foo":"bar"}}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":{"foo":"bar"}}'
$ json <<< '{"type":[]}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":[]}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":[]}'
$ json <<< '{"type":["foo","bar"]}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":["foo","bar"]}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":["foo","bar"]}'
$ json <<< '{"name":null}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":null}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":null}'
$ json <<< '{"name":false}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":false}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":false}'
$ json <<< '{"name":true}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":true}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":true}'
$ json <<< '{"name":123}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":123}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":123}'
$ json <<< '{"name":"foo"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"foo"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"foo"}'
$ json <<< '{"name":"type"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"type"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"type"}'
$ json <<< '{"name":"null"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"null"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"null"}'
$ json <<< '{"name":"boolean"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"boolean"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"boolean"}'
$ json <<< '{"name":"number"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"number"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"number"}'
$ json <<< '{"name":"string"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"string"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"string"}'
$ json <<< '{"name":"object"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"object"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"object"}'
$ json <<< '{"name":"array"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"array"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"array"}'
$ json <<< '{"name":"list"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"list"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"list"}'
$ json <<< '{"name":"dict"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"dict"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"dict"}'
$ json <<< '{"name":{}}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":{}}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":{}}'
$ json <<< '{"name":{"foo":"bar"}}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":{"foo":"bar"}}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":{"foo":"bar"}}'
$ json <<< '{"name":[]}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":[]}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":[]}'
$ json <<< '{"name":["foo","bar"]}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":["foo","bar"]}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":["foo","bar"]}'
$ json <<< '{"plain":null}'
{
    "plain": null
}
$ json <<< '{"plain":false}'
{
    "plain": false
}
$ json <<< '{"plain":true}'
{
    "plain": true
}
$ json <<< '{"plain":123}'
{
    "plain": 123
}
$ json <<< '{"plain":"foo"}'
{
    "plain": "foo"
}
$ json <<< '{"plain":"type"}'
{
    "plain": "type"
}
$ json <<< '{"plain":"null"}'
{
    "plain": "null"
}
$ json <<< '{"plain":"boolean"}'
{
    "plain": "boolean"
}
$ json <<< '{"plain":"number"}'
{
    "plain": "number"
}
$ json <<< '{"plain":"string"}'
{
    "plain": "string"
}
$ json <<< '{"plain":"object"}'
{
    "plain": "object"
}
$ json <<< '{"plain":"array"}'
{
    "plain": "array"
}
$ json <<< '{"plain":"list"}'
{
    "plain": "list"
}
$ json <<< '{"plain":"dict"}'
{
    "plain": "dict"
}
$ json <<< '{"plain":{}}'
json: error: <stdin>:1:10: meta error: invalid "plain" object: value must be `null', a boolean, a number or a string
json: error: <stdin>:1:10: {"plain":{}}
json: error: <stdin>:1:10:          ^
command failed: json <<< '{"plain":{}}'
$ json <<< '{"plain":{"foo":"bar"}}'
json: error: <stdin>:1:10: meta error: invalid "plain" object: value must be `null', a boolean, a number or a string
json: error: <stdin>:1:10: {"plain":{"foo":"bar"}}
json: error: <stdin>:1:10:          ^
command failed: json <<< '{"plain":{"foo":"bar"}}'
$ json <<< '{"plain":[]}'
json: error: <stdin>:1:10: meta error: invalid "plain" object: value must be `null', a boolean, a number or a string
json: error: <stdin>:1:10: {"plain":[]}
json: error: <stdin>:1:10:          ^
command failed: json <<< '{"plain":[]}'
$ json <<< '{"plain":["foo","bar"]}'
json: error: <stdin>:1:10: meta error: invalid "plain" object: value must be `null', a boolean, a number or a string
json: error: <stdin>:1:10: {"plain":["foo","bar"]}
json: error: <stdin>:1:10:          ^
command failed: json <<< '{"plain":["foo","bar"]}'
$

--[ array-value ]---------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '{"name":"baz","type":"object"}' '[]' '["number","string"]'; do T='['"$v"']'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '[null]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: [null]
json: error: <stdin>:1:2:  ^
command failed: json <<< '[null]'
$ json <<< '[false]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: [false]
json: error: <stdin>:1:2:  ^
command failed: json <<< '[false]'
$ json <<< '[true]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: [true]
json: error: <stdin>:1:2:  ^
command failed: json <<< '[true]'
$ json <<< '[123]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: [123]
json: error: <stdin>:1:2:  ^
command failed: json <<< '[123]'
$ json <<< '["foo"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["foo"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["foo"]'
$ json <<< '["type"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["type"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["type"]'
$ json <<< '["null"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["null"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["null"]'
$ json <<< '["boolean"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["boolean"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["boolean"]'
$ json <<< '["number"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["number"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["number"]'
$ json <<< '["string"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["string"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["string"]'
$ json <<< '["object"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["object"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["object"]'
$ json <<< '["array"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["array"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["array"]'
$ json <<< '["list"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["list"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["list"]'
$ json <<< '["dict"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["dict"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["dict"]'
$ json <<< '[{}]'
json: error: <stdin>:1:2: meta error: empty objects are not allowed
json: error: <stdin>:1:2: [{}]
json: error: <stdin>:1:2:  ^
command failed: json <<< '[{}]'
$ json <<< '[{"foo":"bar"}]'
json: error: <stdin>:1:3: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:3: [{"foo":"bar"}]
json: error: <stdin>:1:3:   ^
command failed: json <<< '[{"foo":"bar"}]'
$ json <<< '[{"name":"baz","type":"object"}]'
[
    {
        "name": "baz",
        "type": "object"
    }
]
$ json <<< '[[]]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: [[]]
json: error: <stdin>:1:2:  ^
command failed: json <<< '[[]]'
$ json <<< '[["number","string"]]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: [["number","string"]]
json: error: <stdin>:1:2:  ^
command failed: json <<< '[["number","string"]]'
$

--[ array-value2 ]--------------------------------------------------------------

#
# # meta command:
# $ for v in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"plain":null}' '{"type":"array","args":"type"}' '{"name":"baz","type":"object"}'; do for v2 in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '{"name":"baz","type":"object"}' '[]' '["number","string"]'; do T='['"$v"','"$v2"']'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done; done
#
$ json <<< '["type",null]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["type",null]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["type",null]'
$ json <<< '["type",false]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["type",false]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["type",false]'
$ json <<< '["type",true]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["type",true]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["type",true]'
$ json <<< '["type",123]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["type",123]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["type",123]'
$ json <<< '["type","foo"]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["type","foo"]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["type","foo"]'
$ json <<< '["type","type"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["type","type"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["type","type"]'
$ json <<< '["type","null"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["type","null"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["type","null"]'
$ json <<< '["type","boolean"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["type","boolean"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["type","boolean"]'
$ json <<< '["type","number"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["type","number"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["type","number"]'
$ json <<< '["type","string"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["type","string"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["type","string"]'
$ json <<< '["type","object"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["type","object"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["type","object"]'
$ json <<< '["type","array"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["type","array"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["type","array"]'
$ json <<< '["type","list"]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["type","list"]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["type","list"]'
$ json <<< '["type","dict"]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["type","dict"]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["type","dict"]'
$ json <<< '["type",{}]'
json: error: <stdin>:1:9: meta error: empty objects are not allowed
json: error: <stdin>:1:9: ["type",{}]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["type",{}]'
$ json <<< '["type",{"foo":"bar"}]'
json: error: <stdin>:1:10: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:10: ["type",{"foo":"bar"}]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["type",{"foo":"bar"}]'
$ json <<< '["type",{"name":"baz","type":"object"}]'
json: error: <stdin>:1:9: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:9: ["type",{"name":"baz","type":"object"}]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["type",{"name":"baz","type":"object"}]'
$ json <<< '["type",[]]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["type",[]]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["type",[]]'
$ json <<< '["type",["number","string"]]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["type",["number","string"]]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["type",["number","string"]]'
$ json <<< '["null",null]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["null",null]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["null",null]'
$ json <<< '["null",false]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["null",false]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["null",false]'
$ json <<< '["null",true]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["null",true]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["null",true]'
$ json <<< '["null",123]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["null",123]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["null",123]'
$ json <<< '["null","foo"]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["null","foo"]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["null","foo"]'
$ json <<< '["null","type"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["null","type"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["null","type"]'
$ json <<< '["null","null"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["null","null"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["null","null"]'
$ json <<< '["null","boolean"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["null","boolean"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["null","boolean"]'
$ json <<< '["null","number"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["null","number"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["null","number"]'
$ json <<< '["null","string"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["null","string"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["null","string"]'
$ json <<< '["null","object"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["null","object"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["null","object"]'
$ json <<< '["null","array"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["null","array"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["null","array"]'
$ json <<< '["null","list"]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["null","list"]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["null","list"]'
$ json <<< '["null","dict"]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["null","dict"]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["null","dict"]'
$ json <<< '["null",{}]'
json: error: <stdin>:1:9: meta error: empty objects are not allowed
json: error: <stdin>:1:9: ["null",{}]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["null",{}]'
$ json <<< '["null",{"foo":"bar"}]'
json: error: <stdin>:1:10: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:10: ["null",{"foo":"bar"}]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["null",{"foo":"bar"}]'
$ json <<< '["null",{"name":"baz","type":"object"}]'
json: error: <stdin>:1:9: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:9: ["null",{"name":"baz","type":"object"}]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["null",{"name":"baz","type":"object"}]'
$ json <<< '["null",[]]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["null",[]]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["null",[]]'
$ json <<< '["null",["number","string"]]'
json: error: <stdin>:1:9: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:9: ["null",["number","string"]]
json: error: <stdin>:1:9:         ^
command failed: json <<< '["null",["number","string"]]'
$ json <<< '["boolean",null]'
json: error: <stdin>:1:12: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:12: ["boolean",null]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["boolean",null]'
$ json <<< '["boolean",false]'
json: error: <stdin>:1:12: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:12: ["boolean",false]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["boolean",false]'
$ json <<< '["boolean",true]'
json: error: <stdin>:1:12: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:12: ["boolean",true]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["boolean",true]'
$ json <<< '["boolean",123]'
json: error: <stdin>:1:12: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:12: ["boolean",123]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["boolean",123]'
$ json <<< '["boolean","foo"]'
json: error: <stdin>:1:12: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:12: ["boolean","foo"]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["boolean","foo"]'
$ json <<< '["boolean","type"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["boolean","type"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["boolean","type"]'
$ json <<< '["boolean","null"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["boolean","null"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["boolean","null"]'
$ json <<< '["boolean","boolean"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["boolean","boolean"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["boolean","boolean"]'
$ json <<< '["boolean","number"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["boolean","number"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["boolean","number"]'
$ json <<< '["boolean","string"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["boolean","string"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["boolean","string"]'
$ json <<< '["boolean","object"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["boolean","object"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["boolean","object"]'
$ json <<< '["boolean","array"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["boolean","array"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["boolean","array"]'
$ json <<< '["boolean","list"]'
json: error: <stdin>:1:12: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:12: ["boolean","list"]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["boolean","list"]'
$ json <<< '["boolean","dict"]'
json: error: <stdin>:1:12: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:12: ["boolean","dict"]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["boolean","dict"]'
$ json <<< '["boolean",{}]'
json: error: <stdin>:1:12: meta error: empty objects are not allowed
json: error: <stdin>:1:12: ["boolean",{}]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["boolean",{}]'
$ json <<< '["boolean",{"foo":"bar"}]'
json: error: <stdin>:1:13: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:13: ["boolean",{"foo":"bar"}]
json: error: <stdin>:1:13:             ^
command failed: json <<< '["boolean",{"foo":"bar"}]'
$ json <<< '["boolean",{"name":"baz","type":"object"}]'
json: error: <stdin>:1:12: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:12: ["boolean",{"name":"baz","type":"object"}]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["boolean",{"name":"baz","type":"object"}]'
$ json <<< '["boolean",[]]'
json: error: <stdin>:1:12: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:12: ["boolean",[]]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["boolean",[]]'
$ json <<< '["boolean",["number","string"]]'
json: error: <stdin>:1:12: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:12: ["boolean",["number","string"]]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["boolean",["number","string"]]'
$ json <<< '["number",null]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["number",null]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["number",null]'
$ json <<< '["number",false]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["number",false]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["number",false]'
$ json <<< '["number",true]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["number",true]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["number",true]'
$ json <<< '["number",123]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["number",123]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["number",123]'
$ json <<< '["number","foo"]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["number","foo"]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["number","foo"]'
$ json <<< '["number","type"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["number","type"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["number","type"]'
$ json <<< '["number","null"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["number","null"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["number","null"]'
$ json <<< '["number","boolean"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["number","boolean"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["number","boolean"]'
$ json <<< '["number","number"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["number","number"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["number","number"]'
$ json <<< '["number","string"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["number","string"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["number","string"]'
$ json <<< '["number","object"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["number","object"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["number","object"]'
$ json <<< '["number","array"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["number","array"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["number","array"]'
$ json <<< '["number","list"]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["number","list"]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["number","list"]'
$ json <<< '["number","dict"]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["number","dict"]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["number","dict"]'
$ json <<< '["number",{}]'
json: error: <stdin>:1:11: meta error: empty objects are not allowed
json: error: <stdin>:1:11: ["number",{}]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["number",{}]'
$ json <<< '["number",{"foo":"bar"}]'
json: error: <stdin>:1:12: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:12: ["number",{"foo":"bar"}]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["number",{"foo":"bar"}]'
$ json <<< '["number",{"name":"baz","type":"object"}]'
json: error: <stdin>:1:11: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:11: ["number",{"name":"baz","type":"object"}]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["number",{"name":"baz","type":"object"}]'
$ json <<< '["number",[]]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["number",[]]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["number",[]]'
$ json <<< '["number",["number","string"]]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["number",["number","string"]]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["number",["number","string"]]'
$ json <<< '["string",null]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["string",null]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["string",null]'
$ json <<< '["string",false]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["string",false]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["string",false]'
$ json <<< '["string",true]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["string",true]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["string",true]'
$ json <<< '["string",123]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["string",123]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["string",123]'
$ json <<< '["string","foo"]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["string","foo"]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["string","foo"]'
$ json <<< '["string","type"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["string","type"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["string","type"]'
$ json <<< '["string","null"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["string","null"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["string","null"]'
$ json <<< '["string","boolean"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["string","boolean"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["string","boolean"]'
$ json <<< '["string","number"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["string","number"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["string","number"]'
$ json <<< '["string","string"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["string","string"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["string","string"]'
$ json <<< '["string","object"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["string","object"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["string","object"]'
$ json <<< '["string","array"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["string","array"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["string","array"]'
$ json <<< '["string","list"]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["string","list"]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["string","list"]'
$ json <<< '["string","dict"]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["string","dict"]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["string","dict"]'
$ json <<< '["string",{}]'
json: error: <stdin>:1:11: meta error: empty objects are not allowed
json: error: <stdin>:1:11: ["string",{}]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["string",{}]'
$ json <<< '["string",{"foo":"bar"}]'
json: error: <stdin>:1:12: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:12: ["string",{"foo":"bar"}]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["string",{"foo":"bar"}]'
$ json <<< '["string",{"name":"baz","type":"object"}]'
json: error: <stdin>:1:11: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:11: ["string",{"name":"baz","type":"object"}]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["string",{"name":"baz","type":"object"}]'
$ json <<< '["string",[]]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["string",[]]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["string",[]]'
$ json <<< '["string",["number","string"]]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["string",["number","string"]]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["string",["number","string"]]'
$ json <<< '["object",null]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["object",null]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["object",null]'
$ json <<< '["object",false]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["object",false]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["object",false]'
$ json <<< '["object",true]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["object",true]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["object",true]'
$ json <<< '["object",123]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["object",123]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["object",123]'
$ json <<< '["object","foo"]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["object","foo"]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["object","foo"]'
$ json <<< '["object","type"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["object","type"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["object","type"]'
$ json <<< '["object","null"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["object","null"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["object","null"]'
$ json <<< '["object","boolean"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["object","boolean"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["object","boolean"]'
$ json <<< '["object","number"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["object","number"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["object","number"]'
$ json <<< '["object","string"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["object","string"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["object","string"]'
$ json <<< '["object","object"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["object","object"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["object","object"]'
$ json <<< '["object","array"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["object","array"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["object","array"]'
$ json <<< '["object","list"]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["object","list"]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["object","list"]'
$ json <<< '["object","dict"]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["object","dict"]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["object","dict"]'
$ json <<< '["object",{}]'
json: error: <stdin>:1:11: meta error: empty objects are not allowed
json: error: <stdin>:1:11: ["object",{}]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["object",{}]'
$ json <<< '["object",{"foo":"bar"}]'
json: error: <stdin>:1:12: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:12: ["object",{"foo":"bar"}]
json: error: <stdin>:1:12:            ^
command failed: json <<< '["object",{"foo":"bar"}]'
$ json <<< '["object",{"name":"baz","type":"object"}]'
json: error: <stdin>:1:11: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:11: ["object",{"name":"baz","type":"object"}]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["object",{"name":"baz","type":"object"}]'
$ json <<< '["object",[]]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["object",[]]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["object",[]]'
$ json <<< '["object",["number","string"]]'
json: error: <stdin>:1:11: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:11: ["object",["number","string"]]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["object",["number","string"]]'
$ json <<< '["array",null]'
json: error: <stdin>:1:10: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:10: ["array",null]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["array",null]'
$ json <<< '["array",false]'
json: error: <stdin>:1:10: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:10: ["array",false]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["array",false]'
$ json <<< '["array",true]'
json: error: <stdin>:1:10: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:10: ["array",true]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["array",true]'
$ json <<< '["array",123]'
json: error: <stdin>:1:10: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:10: ["array",123]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["array",123]'
$ json <<< '["array","foo"]'
json: error: <stdin>:1:10: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:10: ["array","foo"]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["array","foo"]'
$ json <<< '["array","type"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["array","type"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["array","type"]'
$ json <<< '["array","null"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["array","null"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["array","null"]'
$ json <<< '["array","boolean"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["array","boolean"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["array","boolean"]'
$ json <<< '["array","number"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["array","number"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["array","number"]'
$ json <<< '["array","string"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["array","string"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["array","string"]'
$ json <<< '["array","object"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["array","object"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["array","object"]'
$ json <<< '["array","array"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["array","array"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["array","array"]'
$ json <<< '["array","list"]'
json: error: <stdin>:1:10: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:10: ["array","list"]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["array","list"]'
$ json <<< '["array","dict"]'
json: error: <stdin>:1:10: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:10: ["array","dict"]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["array","dict"]'
$ json <<< '["array",{}]'
json: error: <stdin>:1:10: meta error: empty objects are not allowed
json: error: <stdin>:1:10: ["array",{}]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["array",{}]'
$ json <<< '["array",{"foo":"bar"}]'
json: error: <stdin>:1:11: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:11: ["array",{"foo":"bar"}]
json: error: <stdin>:1:11:           ^
command failed: json <<< '["array",{"foo":"bar"}]'
$ json <<< '["array",{"name":"baz","type":"object"}]'
json: error: <stdin>:1:10: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:10: ["array",{"name":"baz","type":"object"}]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["array",{"name":"baz","type":"object"}]'
$ json <<< '["array",[]]'
json: error: <stdin>:1:10: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:10: ["array",[]]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["array",[]]'
$ json <<< '["array",["number","string"]]'
json: error: <stdin>:1:10: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:10: ["array",["number","string"]]
json: error: <stdin>:1:10:          ^
command failed: json <<< '["array",["number","string"]]'
$ json <<< '[{"plain":null},null]'
json: error: <stdin>:1:17: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:17: [{"plain":null},null]
json: error: <stdin>:1:17:                 ^
command failed: json <<< '[{"plain":null},null]'
$ json <<< '[{"plain":null},false]'
json: error: <stdin>:1:17: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:17: [{"plain":null},false]
json: error: <stdin>:1:17:                 ^
command failed: json <<< '[{"plain":null},false]'
$ json <<< '[{"plain":null},true]'
json: error: <stdin>:1:17: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:17: [{"plain":null},true]
json: error: <stdin>:1:17:                 ^
command failed: json <<< '[{"plain":null},true]'
$ json <<< '[{"plain":null},123]'
json: error: <stdin>:1:17: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:17: [{"plain":null},123]
json: error: <stdin>:1:17:                 ^
command failed: json <<< '[{"plain":null},123]'
$ json <<< '[{"plain":null},"foo"]'
json: error: <stdin>:1:17: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:17: [{"plain":null},"foo"]
json: error: <stdin>:1:17:                 ^
command failed: json <<< '[{"plain":null},"foo"]'
$ json <<< '[{"plain":null},"type"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"plain":null},"type"]
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"plain":null},"type"]'
$ json <<< '[{"plain":null},"null"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"plain":null},"null"]
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"plain":null},"null"]'
$ json <<< '[{"plain":null},"boolean"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"plain":null},"boolean"]
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"plain":null},"boolean"]'
$ json <<< '[{"plain":null},"number"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"plain":null},"number"]
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"plain":null},"number"]'
$ json <<< '[{"plain":null},"string"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"plain":null},"string"]
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"plain":null},"string"]'
$ json <<< '[{"plain":null},"object"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"plain":null},"object"]
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"plain":null},"object"]'
$ json <<< '[{"plain":null},"array"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"plain":null},"array"]
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"plain":null},"array"]'
$ json <<< '[{"plain":null},"list"]'
json: error: <stdin>:1:17: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:17: [{"plain":null},"list"]
json: error: <stdin>:1:17:                 ^
command failed: json <<< '[{"plain":null},"list"]'
$ json <<< '[{"plain":null},"dict"]'
json: error: <stdin>:1:17: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:17: [{"plain":null},"dict"]
json: error: <stdin>:1:17:                 ^
command failed: json <<< '[{"plain":null},"dict"]'
$ json <<< '[{"plain":null},{}]'
json: error: <stdin>:1:17: meta error: empty objects are not allowed
json: error: <stdin>:1:17: [{"plain":null},{}]
json: error: <stdin>:1:17:                 ^
command failed: json <<< '[{"plain":null},{}]'
$ json <<< '[{"plain":null},{"foo":"bar"}]'
json: error: <stdin>:1:18: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:18: [{"plain":null},{"foo":"bar"}]
json: error: <stdin>:1:18:                  ^
command failed: json <<< '[{"plain":null},{"foo":"bar"}]'
$ json <<< '[{"plain":null},{"name":"baz","type":"object"}]'
json: error: <stdin>:1:17: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:17: [{"plain":null},{"name":"baz","type":"object"}]
json: error: <stdin>:1:17:                 ^
command failed: json <<< '[{"plain":null},{"name":"baz","type":"object"}]'
$ json <<< '[{"plain":null},[]]'
json: error: <stdin>:1:17: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:17: [{"plain":null},[]]
json: error: <stdin>:1:17:                 ^
command failed: json <<< '[{"plain":null},[]]'
$ json <<< '[{"plain":null},["number","string"]]'
json: error: <stdin>:1:17: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:17: [{"plain":null},["number","string"]]
json: error: <stdin>:1:17:                 ^
command failed: json <<< '[{"plain":null},["number","string"]]'
$ json <<< '[{"type":"array","args":"type"},null]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"type":"array","args":"type"},null]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},null]'
$ json <<< '[{"type":"array","args":"type"},false]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"type":"array","args":"type"},false]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},false]'
$ json <<< '[{"type":"array","args":"type"},true]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"type":"array","args":"type"},true]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},true]'
$ json <<< '[{"type":"array","args":"type"},123]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"type":"array","args":"type"},123]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},123]'
$ json <<< '[{"type":"array","args":"type"},"foo"]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"type":"array","args":"type"},"foo"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},"foo"]'
$ json <<< '[{"type":"array","args":"type"},"type"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"type":"array","args":"type"},"
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"type":"array","args":"type"},"type"]'
$ json <<< '[{"type":"array","args":"type"},"null"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"type":"array","args":"type"},"
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"type":"array","args":"type"},"null"]'
$ json <<< '[{"type":"array","args":"type"},"boolean"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"type":"array","args":"type"},"
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"type":"array","args":"type"},"boolean"]'
$ json <<< '[{"type":"array","args":"type"},"number"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"type":"array","args":"type"},"
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"type":"array","args":"type"},"number"]'
$ json <<< '[{"type":"array","args":"type"},"string"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"type":"array","args":"type"},"
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"type":"array","args":"type"},"string"]'
$ json <<< '[{"type":"array","args":"type"},"object"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"type":"array","args":"type"},"
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"type":"array","args":"type"},"object"]'
$ json <<< '[{"type":"array","args":"type"},"array"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: [{"type":"array","args":"type"},"
json: error: <stdin>:1:1: ^
command failed: json <<< '[{"type":"array","args":"type"},"array"]'
$ json <<< '[{"type":"array","args":"type"},"list"]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"type":"array","args":"type"},"list"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},"list"]'
$ json <<< '[{"type":"array","args":"type"},"dict"]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"type":"array","args":"type"},"dict"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},"dict"]'
$ json <<< '[{"type":"array","args":"type"},{}]'
json: error: <stdin>:1:33: meta error: empty objects are not allowed
json: error: <stdin>:1:33: [{"type":"array","args":"type"},{}]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},{}]'
$ json <<< '[{"type":"array","args":"type"},{"foo":"bar"}]'
json: error: <stdin>:1:34: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:34: {"type":"array","args":"type"},{"foo":"bar"}]
json: error: <stdin>:1:34:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},{"foo":"bar"}]'
$ json <<< '[{"type":"array","args":"type"},{"name":"baz","type":"object"}]'
json: error: <stdin>:1:33: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:33: [{"type":"array","args":"type"},{"name":"baz","type":"object"}]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},{"name":"baz","type":"object"}]'
$ json <<< '[{"type":"array","args":"type"},[]]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"type":"array","args":"type"},[]]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},[]]'
$ json <<< '[{"type":"array","args":"type"},["number","string"]]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"type":"array","args":"type"},["number","string"]]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"type":"array","args":"type"},["number","string"]]'
$ json <<< '[{"name":"baz","type":"object"},null]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},null]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},null]'
$ json <<< '[{"name":"baz","type":"object"},false]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},false]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},false]'
$ json <<< '[{"name":"baz","type":"object"},true]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},true]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},true]'
$ json <<< '[{"name":"baz","type":"object"},123]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},123]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},123]'
$ json <<< '[{"name":"baz","type":"object"},"foo"]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},"foo"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},"foo"]'
$ json <<< '[{"name":"baz","type":"object"},"type"]'
json: error: <stdin>:1:33: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},"type"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},"type"]'
$ json <<< '[{"name":"baz","type":"object"},"null"]'
json: error: <stdin>:1:33: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},"null"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},"null"]'
$ json <<< '[{"name":"baz","type":"object"},"boolean"]'
json: error: <stdin>:1:33: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},"boolean"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},"boolean"]'
$ json <<< '[{"name":"baz","type":"object"},"number"]'
json: error: <stdin>:1:33: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},"number"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},"number"]'
$ json <<< '[{"name":"baz","type":"object"},"string"]'
json: error: <stdin>:1:33: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},"string"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},"string"]'
$ json <<< '[{"name":"baz","type":"object"},"object"]'
json: error: <stdin>:1:33: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},"object"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},"object"]'
$ json <<< '[{"name":"baz","type":"object"},"array"]'
json: error: <stdin>:1:33: meta error: invalid array: its elements must all be types or all be "name" objects
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},"array"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},"array"]'
$ json <<< '[{"name":"baz","type":"object"},"list"]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},"list"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},"list"]'
$ json <<< '[{"name":"baz","type":"object"},"dict"]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},"dict"]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},"dict"]'
$ json <<< '[{"name":"baz","type":"object"},{}]'
json: error: <stdin>:1:33: meta error: empty objects are not allowed
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},{}]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},{}]'
$ json <<< '[{"name":"baz","type":"object"},{"foo":"bar"}]'
json: error: <stdin>:1:34: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:34: {"name":"baz","type":"object"},{"foo":"bar"}]
json: error: <stdin>:1:34:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},{"foo":"bar"}]'
$ json <<< '[{"name":"baz","type":"object"},{"name":"baz","type":"object"}]'
json: error: <stdin>:1:41: attribute error: invalid array of "name" objects: duplicated type name (previous defined at 1:10)
json: error: <stdin>:1:41: :"baz","type":"object"},{"name":"baz","type":"object"}]
json: error: <stdin>:1:41:                                 ^
[
    {
        "name": "baz",
        "type": "object"
    },
    {
        "name": "baz",
        "type": "object"
    }
]
command failed: json <<< '[{"name":"baz","type":"object"},{"name":"baz","type":"object"}]'
$ json <<< '[{"name":"baz","type":"object"},[]]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},[]]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},[]]'
$ json <<< '[{"name":"baz","type":"object"},["number","string"]]'
json: error: <stdin>:1:33: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:33: [{"name":"baz","type":"object"},["number","string"]]
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '[{"name":"baz","type":"object"},["number","string"]]'
$

--[ type ]----------------------------------------------------------------------

#
# # meta command:
# $ for t in object array list dict; do for n in foo args; do for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]' '[{"name":"baz","type":"object"}]' '["boolean","number"]'; do T='{"type":"'$t'","'"$n"'":'"$v"'}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done; done; done
#
$ json <<< '{"type":"object","foo":null}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":null}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":null}'
$ json <<< '{"type":"object","foo":false}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":false}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":false}'
$ json <<< '{"type":"object","foo":true}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":true}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":true}'
$ json <<< '{"type":"object","foo":123}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":123}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":123}'
$ json <<< '{"type":"object","foo":"foo"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":"foo"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":"foo"}'
$ json <<< '{"type":"object","foo":"type"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":"type"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":"type"}'
$ json <<< '{"type":"object","foo":"null"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":"null"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":"null"}'
$ json <<< '{"type":"object","foo":"boolean"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":"boolean"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":"boolean"}'
$ json <<< '{"type":"object","foo":"number"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":"number"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":"number"}'
$ json <<< '{"type":"object","foo":"string"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":"string"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":"string"}'
$ json <<< '{"type":"object","foo":"object"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":"object"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":"object"}'
$ json <<< '{"type":"object","foo":"array"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":"array"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":"array"}'
$ json <<< '{"type":"object","foo":"list"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":"list"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":"list"}'
$ json <<< '{"type":"object","foo":"dict"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":"dict"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":"dict"}'
$ json <<< '{"type":"object","foo":{}}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":{}}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":{}}'
$ json <<< '{"type":"object","foo":{"foo":"bar"}}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":{"foo":"ba
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":{"foo":"bar"}}'
$ json <<< '{"type":"object","foo":[]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":[]}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":[]}'
$ json <<< '{"type":"object","foo":["foo","bar"]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":["foo","ba
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":["foo","bar"]}'
$ json <<< '{"type":"object","foo":[{"name":"baz","type":"object"}]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":[{"name":"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":[{"name":"baz","type":"object"}]}'
$ json <<< '{"type":"object","foo":["boolean","number"]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"object","foo":["boolean"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object","foo":["boolean","number"]}'
$ json <<< '{"type":"object","args":null}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":null}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":null}'
$ json <<< '{"type":"object","args":false}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":false}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":false}'
$ json <<< '{"type":"object","args":true}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":true}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":true}'
$ json <<< '{"type":"object","args":123}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":123}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":123}'
$ json <<< '{"type":"object","args":"foo"}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":"foo"}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":"foo"}'
$ json <<< '{"type":"object","args":"type"}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":"type"}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":"type"}'
$ json <<< '{"type":"object","args":"null"}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":"null"}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":"null"}'
$ json <<< '{"type":"object","args":"boolean"}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":"boolean"}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":"boolean"}'
$ json <<< '{"type":"object","args":"number"}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":"number"}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":"number"}'
$ json <<< '{"type":"object","args":"string"}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":"string"}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":"string"}'
$ json <<< '{"type":"object","args":"object"}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":"object"}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":"object"}'
$ json <<< '{"type":"object","args":"array"}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":"array"}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":"array"}'
$ json <<< '{"type":"object","args":"list"}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":"list"}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":"list"}'
$ json <<< '{"type":"object","args":"dict"}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":"dict"}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":"dict"}'
$ json <<< '{"type":"object","args":{}}'
json: error: <stdin>:1:25: meta error: empty objects are not allowed
json: error: <stdin>:1:25: {"type":"object","args":{}}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":{}}'
$ json <<< '{"type":"object","args":{"foo":"bar"}}'
json: error: <stdin>:1:26: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:26: {"type":"object","args":{"foo":"bar"}}
json: error: <stdin>:1:26:                          ^
command failed: json <<< '{"type":"object","args":{"foo":"bar"}}'
$ json <<< '{"type":"object","args":[]}'
{
    "type": "object",
    "args": []
}
$ json <<< '{"type":"object","args":["foo","bar"]}'
json: error: <stdin>:1:26: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:26: {"type":"object","args":["foo","bar"]}
json: error: <stdin>:1:26:                          ^
command failed: json <<< '{"type":"object","args":["foo","bar"]}'
$ json <<< '{"type":"object","args":[{"name":"baz","type":"object"}]}'
{
    "type": "object",
    "args": [
        {
            "name": "baz",
            "type": "object"
        }
    ]
}
$ json <<< '{"type":"object","args":["boolean","number"]}'
json: error: <stdin>:1:25: meta error: invalid "object" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:25: {"type":"object","args":["boolean","number"]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"object","args":["boolean","number"]}'
$ json <<< '{"type":"array","foo":null}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":null}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":null}'
$ json <<< '{"type":"array","foo":false}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":false}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":false}'
$ json <<< '{"type":"array","foo":true}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":true}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":true}'
$ json <<< '{"type":"array","foo":123}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":123}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":123}'
$ json <<< '{"type":"array","foo":"foo"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":"foo"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":"foo"}'
$ json <<< '{"type":"array","foo":"type"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":"type"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":"type"}'
$ json <<< '{"type":"array","foo":"null"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":"null"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":"null"}'
$ json <<< '{"type":"array","foo":"boolean"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":"boolean"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":"boolean"}'
$ json <<< '{"type":"array","foo":"number"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":"number"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":"number"}'
$ json <<< '{"type":"array","foo":"string"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":"string"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":"string"}'
$ json <<< '{"type":"array","foo":"object"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":"object"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":"object"}'
$ json <<< '{"type":"array","foo":"array"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":"array"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":"array"}'
$ json <<< '{"type":"array","foo":"list"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":"list"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":"list"}'
$ json <<< '{"type":"array","foo":"dict"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":"dict"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":"dict"}'
$ json <<< '{"type":"array","foo":{}}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":{}}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":{}}'
$ json <<< '{"type":"array","foo":{"foo":"bar"}}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":{"foo":"bar
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":{"foo":"bar"}}'
$ json <<< '{"type":"array","foo":[]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":[]}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":[]}'
$ json <<< '{"type":"array","foo":["foo","bar"]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":["foo","bar
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":["foo","bar"]}'
$ json <<< '{"type":"array","foo":[{"name":"baz","type":"object"}]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":[{"name":"b
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":[{"name":"baz","type":"object"}]}'
$ json <<< '{"type":"array","foo":["boolean","number"]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"array","foo":["boolean",
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array","foo":["boolean","number"]}'
$ json <<< '{"type":"array","args":null}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":null}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":null}'
$ json <<< '{"type":"array","args":false}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":false}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":false}'
$ json <<< '{"type":"array","args":true}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":true}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":true}'
$ json <<< '{"type":"array","args":123}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":123}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":123}'
$ json <<< '{"type":"array","args":"foo"}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":"foo"}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":"foo"}'
$ json <<< '{"type":"array","args":"type"}'
{
    "type": "array",
    "args": "type"
}
$ json <<< '{"type":"array","args":"null"}'
{
    "type": "array",
    "args": "null"
}
$ json <<< '{"type":"array","args":"boolean"}'
{
    "type": "array",
    "args": "boolean"
}
$ json <<< '{"type":"array","args":"number"}'
{
    "type": "array",
    "args": "number"
}
$ json <<< '{"type":"array","args":"string"}'
{
    "type": "array",
    "args": "string"
}
$ json <<< '{"type":"array","args":"object"}'
{
    "type": "array",
    "args": "object"
}
$ json <<< '{"type":"array","args":"array"}'
{
    "type": "array",
    "args": "array"
}
$ json <<< '{"type":"array","args":"list"}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":"list"}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":"list"}'
$ json <<< '{"type":"array","args":"dict"}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":"dict"}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":"dict"}'
$ json <<< '{"type":"array","args":{}}'
json: error: <stdin>:1:24: meta error: empty objects are not allowed
json: error: <stdin>:1:24: {"type":"array","args":{}}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":{}}'
$ json <<< '{"type":"array","args":{"foo":"bar"}}'
json: error: <stdin>:1:25: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:25: {"type":"array","args":{"foo":"bar"}}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":{"foo":"bar"}}'
$ json <<< '{"type":"array","args":[]}'
{
    "type": "array",
    "args": []
}
$ json <<< '{"type":"array","args":["foo","bar"]}'
json: error: <stdin>:1:25: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:25: {"type":"array","args":["foo","bar"]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":["foo","bar"]}'
$ json <<< '{"type":"array","args":[{"name":"baz","type":"object"}]}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":[{"name":"baz","type":"object"}]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":[{"name":"baz","type":"object"}]}'
$ json <<< '{"type":"array","args":["boolean","number"]}'
{
    "type": "array",
    "args": [
        "boolean",
        "number"
    ]
}
$ json <<< '{"type":"list","foo":null}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":null}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":null}'
$ json <<< '{"type":"list","foo":false}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":false}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":false}'
$ json <<< '{"type":"list","foo":true}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":true}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":true}'
$ json <<< '{"type":"list","foo":123}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":123}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":123}'
$ json <<< '{"type":"list","foo":"foo"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":"foo"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":"foo"}'
$ json <<< '{"type":"list","foo":"type"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":"type"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":"type"}'
$ json <<< '{"type":"list","foo":"null"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":"null"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":"null"}'
$ json <<< '{"type":"list","foo":"boolean"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":"boolean"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":"boolean"}'
$ json <<< '{"type":"list","foo":"number"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":"number"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":"number"}'
$ json <<< '{"type":"list","foo":"string"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":"string"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":"string"}'
$ json <<< '{"type":"list","foo":"object"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":"object"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":"object"}'
$ json <<< '{"type":"list","foo":"array"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":"array"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":"array"}'
$ json <<< '{"type":"list","foo":"list"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":"list"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":"list"}'
$ json <<< '{"type":"list","foo":"dict"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":"dict"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":"dict"}'
$ json <<< '{"type":"list","foo":{}}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":{}}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":{}}'
$ json <<< '{"type":"list","foo":{"foo":"bar"}}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":{"foo":"bar"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":{"foo":"bar"}}'
$ json <<< '{"type":"list","foo":[]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":[]}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":[]}'
$ json <<< '{"type":"list","foo":["foo","bar"]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":["foo","bar"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":["foo","bar"]}'
$ json <<< '{"type":"list","foo":[{"name":"baz","type":"object"}]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":[{"name":"ba
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":[{"name":"baz","type":"object"}]}'
$ json <<< '{"type":"list","foo":["boolean","number"]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"list","foo":["boolean","
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list","foo":["boolean","number"]}'
$ json <<< '{"type":"list","args":null}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":null}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":null}'
$ json <<< '{"type":"list","args":false}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":false}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":false}'
$ json <<< '{"type":"list","args":true}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":true}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":true}'
$ json <<< '{"type":"list","args":123}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":123}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":123}'
$ json <<< '{"type":"list","args":"foo"}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":"foo"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":"foo"}'
$ json <<< '{"type":"list","args":"type"}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":"type"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":"type"}'
$ json <<< '{"type":"list","args":"null"}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":"null"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":"null"}'
$ json <<< '{"type":"list","args":"boolean"}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":"boolean"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":"boolean"}'
$ json <<< '{"type":"list","args":"number"}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":"number"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":"number"}'
$ json <<< '{"type":"list","args":"string"}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":"string"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":"string"}'
$ json <<< '{"type":"list","args":"object"}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":"object"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":"object"}'
$ json <<< '{"type":"list","args":"array"}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":"array"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":"array"}'
$ json <<< '{"type":"list","args":"list"}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":"list"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":"list"}'
$ json <<< '{"type":"list","args":"dict"}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":"dict"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":"dict"}'
$ json <<< '{"type":"list","args":{}}'
json: error: <stdin>:1:23: meta error: empty objects are not allowed
json: error: <stdin>:1:23: {"type":"list","args":{}}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":{}}'
$ json <<< '{"type":"list","args":{"foo":"bar"}}'
json: error: <stdin>:1:24: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:24: {"type":"list","args":{"foo":"bar"}}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":{"foo":"bar"}}'
$ json <<< '{"type":"list","args":[]}'
{
    "type": "list",
    "args": [],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["foo","bar"]}'
json: error: <stdin>:1:24: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:24: {"type":"list","args":["foo","bar"]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":["foo","bar"]}'
$ json <<< '{"type":"list","args":[{"name":"baz","type":"object"}]}'
json: error: <stdin>:1:23: meta error: invalid "list" object: value of "args" must be an array of types
json: error: <stdin>:1:23: {"type":"list","args":[{"name":"baz","type":"object"}]}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"list","args":[{"name":"baz","type":"object"}]}'
$ json <<< '{"type":"list","args":["boolean","number"]}'
{
    "type": "list",
    "args": [
        "boolean",
        "number"
    ],
    "attr": {
        "any": {
            "sym": "boolean",
            "lo": null,
            "eq": {
                "val": "boolean",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": "number",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"dict","foo":null}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":null}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":null}'
$ json <<< '{"type":"dict","foo":false}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":false}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":false}'
$ json <<< '{"type":"dict","foo":true}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":true}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":true}'
$ json <<< '{"type":"dict","foo":123}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":123}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":123}'
$ json <<< '{"type":"dict","foo":"foo"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":"foo"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":"foo"}'
$ json <<< '{"type":"dict","foo":"type"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":"type"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":"type"}'
$ json <<< '{"type":"dict","foo":"null"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":"null"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":"null"}'
$ json <<< '{"type":"dict","foo":"boolean"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":"boolean"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":"boolean"}'
$ json <<< '{"type":"dict","foo":"number"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":"number"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":"number"}'
$ json <<< '{"type":"dict","foo":"string"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":"string"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":"string"}'
$ json <<< '{"type":"dict","foo":"object"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":"object"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":"object"}'
$ json <<< '{"type":"dict","foo":"array"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":"array"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":"array"}'
$ json <<< '{"type":"dict","foo":"list"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":"list"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":"list"}'
$ json <<< '{"type":"dict","foo":"dict"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":"dict"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":"dict"}'
$ json <<< '{"type":"dict","foo":{}}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":{}}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":{}}'
$ json <<< '{"type":"dict","foo":{"foo":"bar"}}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":{"foo":"bar"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":{"foo":"bar"}}'
$ json <<< '{"type":"dict","foo":[]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":[]}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":[]}'
$ json <<< '{"type":"dict","foo":["foo","bar"]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":["foo","bar"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":["foo","bar"]}'
$ json <<< '{"type":"dict","foo":[{"name":"baz","type":"object"}]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":[{"name":"ba
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":[{"name":"baz","type":"object"}]}'
$ json <<< '{"type":"dict","foo":["boolean","number"]}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of second argument is not "args"
json: error: <stdin>:1:1: {"type":"dict","foo":["boolean","
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","foo":["boolean","number"]}'
$ json <<< '{"type":"dict","args":null}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":null}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":null}'
$ json <<< '{"type":"dict","args":false}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":false}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":false}'
$ json <<< '{"type":"dict","args":true}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":true}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":true}'
$ json <<< '{"type":"dict","args":123}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":123}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":123}'
$ json <<< '{"type":"dict","args":"foo"}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":"foo"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":"foo"}'
$ json <<< '{"type":"dict","args":"type"}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":"type"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":"type"}'
$ json <<< '{"type":"dict","args":"null"}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":"null"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":"null"}'
$ json <<< '{"type":"dict","args":"boolean"}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":"boolean"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":"boolean"}'
$ json <<< '{"type":"dict","args":"number"}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":"number"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":"number"}'
$ json <<< '{"type":"dict","args":"string"}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":"string"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":"string"}'
$ json <<< '{"type":"dict","args":"object"}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":"object"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":"object"}'
$ json <<< '{"type":"dict","args":"array"}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":"array"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":"array"}'
$ json <<< '{"type":"dict","args":"list"}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":"list"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":"list"}'
$ json <<< '{"type":"dict","args":"dict"}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":"dict"}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":"dict"}'
$ json <<< '{"type":"dict","args":{}}'
json: error: <stdin>:1:23: meta error: empty objects are not allowed
json: error: <stdin>:1:23: {"type":"dict","args":{}}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":{}}'
$ json <<< '{"type":"dict","args":{"foo":"bar"}}'
json: error: <stdin>:1:24: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:24: {"type":"dict","args":{"foo":"bar"}}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"dict","args":{"foo":"bar"}}'
$ json <<< '{"type":"dict","args":[]}'
{
    "type": "dict",
    "args": [],
    "expr": null,
    "attr": {
        "args": null,
        "expr": [],
        "size": 0
    }
}
$ json <<< '{"type":"dict","args":["foo","bar"]}'
json: error: <stdin>:1:24: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:24: {"type":"dict","args":["foo","bar"]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"dict","args":["foo","bar"]}'
$ json <<< '{"type":"dict","args":[{"name":"baz","type":"object"}]}'
{
    "type": "dict",
    "args": [
        {
            "name": "baz",
            "type": "object"
        }
    ],
    "expr": null,
    "attr": {
        "args": {
            "sym": "b",
            "lo": null,
            "eq": {
                "sym": "a",
                "lo": null,
                "eq": {
                    "sym": "z",
                    "lo": null,
                    "eq": {
                        "val": 0,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "expr": [],
        "size": 0
    }
}
$ json <<< '{"type":"dict","args":["boolean","number"]}'
json: error: <stdin>:1:23: meta error: invalid "dict" object: value of "args" must be an array of "name" objects
json: error: <stdin>:1:23: {"type":"dict","args":["boolean","number"]}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"type":"dict","args":["boolean","number"]}'
$

--[ plain ]---------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]'; do T='{"plain":'"$v"'}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"plain":null}'
{
    "plain": null
}
$ json <<< '{"plain":false}'
{
    "plain": false
}
$ json <<< '{"plain":true}'
{
    "plain": true
}
$ json <<< '{"plain":123}'
{
    "plain": 123
}
$ json <<< '{"plain":"foo"}'
{
    "plain": "foo"
}
$ json <<< '{"plain":"type"}'
{
    "plain": "type"
}
$ json <<< '{"plain":"null"}'
{
    "plain": "null"
}
$ json <<< '{"plain":"boolean"}'
{
    "plain": "boolean"
}
$ json <<< '{"plain":"number"}'
{
    "plain": "number"
}
$ json <<< '{"plain":"string"}'
{
    "plain": "string"
}
$ json <<< '{"plain":"object"}'
{
    "plain": "object"
}
$ json <<< '{"plain":"array"}'
{
    "plain": "array"
}
$ json <<< '{"plain":"list"}'
{
    "plain": "list"
}
$ json <<< '{"plain":"dict"}'
{
    "plain": "dict"
}
$ json <<< '{"plain":{}}'
json: error: <stdin>:1:10: meta error: invalid "plain" object: value must be `null', a boolean, a number or a string
json: error: <stdin>:1:10: {"plain":{}}
json: error: <stdin>:1:10:          ^
command failed: json <<< '{"plain":{}}'
$ json <<< '{"plain":{"foo":"bar"}}'
json: error: <stdin>:1:10: meta error: invalid "plain" object: value must be `null', a boolean, a number or a string
json: error: <stdin>:1:10: {"plain":{"foo":"bar"}}
json: error: <stdin>:1:10:          ^
command failed: json <<< '{"plain":{"foo":"bar"}}'
$ json <<< '{"plain":[]}'
json: error: <stdin>:1:10: meta error: invalid "plain" object: value must be `null', a boolean, a number or a string
json: error: <stdin>:1:10: {"plain":[]}
json: error: <stdin>:1:10:          ^
command failed: json <<< '{"plain":[]}'
$ json <<< '{"plain":["foo","bar"]}'
json: error: <stdin>:1:10: meta error: invalid "plain" object: value must be `null', a boolean, a number or a string
json: error: <stdin>:1:10: {"plain":["foo","bar"]}
json: error: <stdin>:1:10:          ^
command failed: json <<< '{"plain":["foo","bar"]}'
$

--[ plain2 ]--------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]'; do T='{"plain":'"$v"',"foo":"bar"}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"plain":null,"foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":null,"foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":null,"foo":"bar"}'
$ json <<< '{"plain":false,"foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":false,"foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":false,"foo":"bar"}'
$ json <<< '{"plain":true,"foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":true,"foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":true,"foo":"bar"}'
$ json <<< '{"plain":123,"foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":123,"foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":123,"foo":"bar"}'
$ json <<< '{"plain":"foo","foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":"foo","foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":"foo","foo":"bar"}'
$ json <<< '{"plain":"type","foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":"type","foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":"type","foo":"bar"}'
$ json <<< '{"plain":"null","foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":"null","foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":"null","foo":"bar"}'
$ json <<< '{"plain":"boolean","foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":"boolean","foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":"boolean","foo":"bar"}'
$ json <<< '{"plain":"number","foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":"number","foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":"number","foo":"bar"}'
$ json <<< '{"plain":"string","foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":"string","foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":"string","foo":"bar"}'
$ json <<< '{"plain":"object","foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":"object","foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":"object","foo":"bar"}'
$ json <<< '{"plain":"array","foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":"array","foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":"array","foo":"bar"}'
$ json <<< '{"plain":"list","foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":"list","foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":"list","foo":"bar"}'
$ json <<< '{"plain":"dict","foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":"dict","foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":"dict","foo":"bar"}'
$ json <<< '{"plain":{},"foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":{},"foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":{},"foo":"bar"}'
$ json <<< '{"plain":{"foo":"bar"},"foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":{"foo":"bar"},"foo":"bar
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":{"foo":"bar"},"foo":"bar"}'
$ json <<< '{"plain":[],"foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":[],"foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":[],"foo":"bar"}'
$ json <<< '{"plain":["foo","bar"],"foo":"bar"}'
json: error: <stdin>:1:1: meta error: invalid "plain" object: arguments not of size one
json: error: <stdin>:1:1: {"plain":["foo","bar"],"foo":"bar
json: error: <stdin>:1:1: ^
command failed: json <<< '{"plain":["foo","bar"],"foo":"bar"}'
$

--[ name ]----------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]'; do T='{"name":'"$v"'}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"name":null}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":null}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":null}'
$ json <<< '{"name":false}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":false}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":false}'
$ json <<< '{"name":true}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":true}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":true}'
$ json <<< '{"name":123}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":123}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":123}'
$ json <<< '{"name":"foo"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"foo"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"foo"}'
$ json <<< '{"name":"type"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"type"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"type"}'
$ json <<< '{"name":"null"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"null"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"null"}'
$ json <<< '{"name":"boolean"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"boolean"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"boolean"}'
$ json <<< '{"name":"number"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"number"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"number"}'
$ json <<< '{"name":"string"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"string"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"string"}'
$ json <<< '{"name":"object"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"object"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"object"}'
$ json <<< '{"name":"array"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"array"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"array"}'
$ json <<< '{"name":"list"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"list"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"list"}'
$ json <<< '{"name":"dict"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"dict"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"dict"}'
$ json <<< '{"name":{}}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":{}}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":{}}'
$ json <<< '{"name":{"foo":"bar"}}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":{"foo":"bar"}}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":{"foo":"bar"}}'
$ json <<< '{"name":[]}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":[]}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":[]}'
$ json <<< '{"name":["foo","bar"]}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":["foo","bar"]}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":["foo","bar"]}'
$

--[ name2 ]---------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]'; do for n in '"fuu"' '"type"'; do T='{"name":"faa",'"$n"':'"$v"'}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done; done
#
$ json <<< '{"name":"faa","fuu":null}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":null}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":null}'
$ json <<< '{"name":"faa","type":null}'
json: error: <stdin>:1:22: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:22: {"name":"faa","type":null}
json: error: <stdin>:1:22:                      ^
command failed: json <<< '{"name":"faa","type":null}'
$ json <<< '{"name":"faa","fuu":false}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":false}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":false}'
$ json <<< '{"name":"faa","type":false}'
json: error: <stdin>:1:22: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:22: {"name":"faa","type":false}
json: error: <stdin>:1:22:                      ^
command failed: json <<< '{"name":"faa","type":false}'
$ json <<< '{"name":"faa","fuu":true}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":true}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":true}'
$ json <<< '{"name":"faa","type":true}'
json: error: <stdin>:1:22: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:22: {"name":"faa","type":true}
json: error: <stdin>:1:22:                      ^
command failed: json <<< '{"name":"faa","type":true}'
$ json <<< '{"name":"faa","fuu":123}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":123}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":123}'
$ json <<< '{"name":"faa","type":123}'
json: error: <stdin>:1:22: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:22: {"name":"faa","type":123}
json: error: <stdin>:1:22:                      ^
command failed: json <<< '{"name":"faa","type":123}'
$ json <<< '{"name":"faa","fuu":"foo"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":"foo"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":"foo"}'
$ json <<< '{"name":"faa","type":"foo"}'
json: error: <stdin>:1:22: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:22: {"name":"faa","type":"foo"}
json: error: <stdin>:1:22:                      ^
command failed: json <<< '{"name":"faa","type":"foo"}'
$ json <<< '{"name":"faa","fuu":"type"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":"type"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":"type"}'
$ json <<< '{"name":"faa","type":"type"}'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: {"name":"faa","type":"type"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type"}'
$ json <<< '{"name":"faa","fuu":"null"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":"null"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":"null"}'
$ json <<< '{"name":"faa","type":"null"}'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: {"name":"faa","type":"null"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"null"}'
$ json <<< '{"name":"faa","fuu":"boolean"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":"boolean"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":"boolean"}'
$ json <<< '{"name":"faa","type":"boolean"}'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: {"name":"faa","type":"boolean"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"boolean"}'
$ json <<< '{"name":"faa","fuu":"number"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":"number"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":"number"}'
$ json <<< '{"name":"faa","type":"number"}'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: {"name":"faa","type":"number"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"number"}'
$ json <<< '{"name":"faa","fuu":"string"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":"string"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":"string"}'
$ json <<< '{"name":"faa","type":"string"}'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: {"name":"faa","type":"string"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"string"}'
$ json <<< '{"name":"faa","fuu":"object"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":"object"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":"object"}'
$ json <<< '{"name":"faa","type":"object"}'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: {"name":"faa","type":"object"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"object"}'
$ json <<< '{"name":"faa","fuu":"array"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":"array"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":"array"}'
$ json <<< '{"name":"faa","type":"array"}'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: {"name":"faa","type":"array"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"array"}'
$ json <<< '{"name":"faa","fuu":"list"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":"list"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":"list"}'
$ json <<< '{"name":"faa","type":"list"}'
json: error: <stdin>:1:22: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:22: {"name":"faa","type":"list"}
json: error: <stdin>:1:22:                      ^
command failed: json <<< '{"name":"faa","type":"list"}'
$ json <<< '{"name":"faa","fuu":"dict"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":"dict"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":"dict"}'
$ json <<< '{"name":"faa","type":"dict"}'
json: error: <stdin>:1:22: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:22: {"name":"faa","type":"dict"}
json: error: <stdin>:1:22:                      ^
command failed: json <<< '{"name":"faa","type":"dict"}'
$ json <<< '{"name":"faa","fuu":{}}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":{}}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":{}}'
$ json <<< '{"name":"faa","type":{}}'
json: error: <stdin>:1:22: meta error: empty objects are not allowed
json: error: <stdin>:1:22: {"name":"faa","type":{}}
json: error: <stdin>:1:22:                      ^
command failed: json <<< '{"name":"faa","type":{}}'
$ json <<< '{"name":"faa","fuu":{"foo":"bar"}}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":{"foo":"bar"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":{"foo":"bar"}}'
$ json <<< '{"name":"faa","type":{"foo":"bar"}}'
json: error: <stdin>:1:23: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:23: {"name":"faa","type":{"foo":"bar"}}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"name":"faa","type":{"foo":"bar"}}'
$ json <<< '{"name":"faa","fuu":[]}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":[]}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":[]}'
$ json <<< '{"name":"faa","type":[]}'
json: error: <stdin>:1:22: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:22: {"name":"faa","type":[]}
json: error: <stdin>:1:22:                      ^
command failed: json <<< '{"name":"faa","type":[]}'
$ json <<< '{"name":"faa","fuu":["foo","bar"]}'
json: error: <stdin>:1:1: meta error: invalid "name" object: key of second argument is not "type"
json: error: <stdin>:1:1: {"name":"faa","fuu":["foo","bar"]
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","fuu":["foo","bar"]}'
$ json <<< '{"name":"faa","type":["foo","bar"]}'
json: error: <stdin>:1:23: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:23: {"name":"faa","type":["foo","bar"]}
json: error: <stdin>:1:23:                       ^
command failed: json <<< '{"name":"faa","type":["foo","bar"]}'
$

--[ name3 ]---------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]'; do T='{"name":"faa","type":"type","fuu":'"$v"'}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"name":"faa","type":"type","fuu":null}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":null}'
$ json <<< '{"name":"faa","type":"type","fuu":false}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":false}'
$ json <<< '{"name":"faa","type":"type","fuu":true}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":true}'
$ json <<< '{"name":"faa","type":"type","fuu":123}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":123}'
$ json <<< '{"name":"faa","type":"type","fuu":"foo"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":"foo"}'
$ json <<< '{"name":"faa","type":"type","fuu":"type"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":"type"}'
$ json <<< '{"name":"faa","type":"type","fuu":"null"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":"null"}'
$ json <<< '{"name":"faa","type":"type","fuu":"boolean"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":"boolean"}'
$ json <<< '{"name":"faa","type":"type","fuu":"number"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":"number"}'
$ json <<< '{"name":"faa","type":"type","fuu":"string"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":"string"}'
$ json <<< '{"name":"faa","type":"type","fuu":"object"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":"object"}'
$ json <<< '{"name":"faa","type":"type","fuu":"array"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":"array"}'
$ json <<< '{"name":"faa","type":"type","fuu":"list"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":"list"}'
$ json <<< '{"name":"faa","type":"type","fuu":"dict"}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":"dict"}'
$ json <<< '{"name":"faa","type":"type","fuu":{}}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":{}}'
$ json <<< '{"name":"faa","type":"type","fuu":{"foo":"bar"}}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":{"foo":"bar"}}'
$ json <<< '{"name":"faa","type":"type","fuu":[]}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":[]}'
$ json <<< '{"name":"faa","type":"type","fuu":["foo","bar"]}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":"faa","type":"type","fuu"
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"faa","type":"type","fuu":["foo","bar"]}'
$

--[ name4 ]---------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '{}' '[]' ; do T='{"name":'"$v"',"type":"type"}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"name":null,"type":"type"}'
json: error: <stdin>:1:9: meta error: invalid "name" object: value of "name" must be a string
json: error: <stdin>:1:9: {"name":null,"type":"type"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"name":null,"type":"type"}'
$ json <<< '{"name":false,"type":"type"}'
json: error: <stdin>:1:9: meta error: invalid "name" object: value of "name" must be a string
json: error: <stdin>:1:9: {"name":false,"type":"type"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"name":false,"type":"type"}'
$ json <<< '{"name":true,"type":"type"}'
json: error: <stdin>:1:9: meta error: invalid "name" object: value of "name" must be a string
json: error: <stdin>:1:9: {"name":true,"type":"type"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"name":true,"type":"type"}'
$ json <<< '{"name":123,"type":"type"}'
json: error: <stdin>:1:9: meta error: invalid "name" object: value of "name" must be a string
json: error: <stdin>:1:9: {"name":123,"type":"type"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"name":123,"type":"type"}'
$ json <<< '{"name":"foo","type":"type"}'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: {"name":"foo","type":"type"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":"foo","type":"type"}'
$ json <<< '{"name":{},"type":"type"}'
json: error: <stdin>:1:9: meta error: invalid "name" object: value of "name" must be a string
json: error: <stdin>:1:9: {"name":{},"type":"type"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"name":{},"type":"type"}'
$ json <<< '{"name":[],"type":"type"}'
json: error: <stdin>:1:9: meta error: invalid "name" object: value of "name" must be a string
json: error: <stdin>:1:9: {"name":[],"type":"type"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"name":[],"type":"type"}'
$

--[ object ]--------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]'; do T='{"type":"object","args":[{"name":"baz","type":'"$v"'}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"object","args":[{"name":"baz","type":null}]}'
json: error: <stdin>:1:47: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:47: t","args":[{"name":"baz","type":null}]}
json: error: <stdin>:1:47:                                 ^
command failed: json <<< '{"type":"object","args":[{"name":"baz","type":null}]}'
$ json <<< '{"type":"object","args":[{"name":"baz","type":false}]}'
json: error: <stdin>:1:47: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:47: t","args":[{"name":"baz","type":false}]}
json: error: <stdin>:1:47:                                 ^
command failed: json <<< '{"type":"object","args":[{"name":"baz","type":false}]}'
$ json <<< '{"type":"object","args":[{"name":"baz","type":true}]}'
json: error: <stdin>:1:47: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:47: t","args":[{"name":"baz","type":true}]}
json: error: <stdin>:1:47:                                 ^
command failed: json <<< '{"type":"object","args":[{"name":"baz","type":true}]}'
$ json <<< '{"type":"object","args":[{"name":"baz","type":123}]}'
json: error: <stdin>:1:47: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:47: t","args":[{"name":"baz","type":123}]}
json: error: <stdin>:1:47:                                 ^
command failed: json <<< '{"type":"object","args":[{"name":"baz","type":123}]}'
$ json <<< '{"type":"object","args":[{"name":"baz","type":"foo"}]}'
json: error: <stdin>:1:47: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:47: t","args":[{"name":"baz","type":"foo"}]}
json: error: <stdin>:1:47:                                 ^
command failed: json <<< '{"type":"object","args":[{"name":"baz","type":"foo"}]}'
$ json <<< '{"type":"object","args":[{"name":"baz","type":"type"}]}'
{
    "type": "object",
    "args": [
        {
            "name": "baz",
            "type": "type"
        }
    ]
}
$ json <<< '{"type":"object","args":[{"name":"baz","type":"null"}]}'
{
    "type": "object",
    "args": [
        {
            "name": "baz",
            "type": "null"
        }
    ]
}
$ json <<< '{"type":"object","args":[{"name":"baz","type":"boolean"}]}'
{
    "type": "object",
    "args": [
        {
            "name": "baz",
            "type": "boolean"
        }
    ]
}
$ json <<< '{"type":"object","args":[{"name":"baz","type":"number"}]}'
{
    "type": "object",
    "args": [
        {
            "name": "baz",
            "type": "number"
        }
    ]
}
$ json <<< '{"type":"object","args":[{"name":"baz","type":"string"}]}'
{
    "type": "object",
    "args": [
        {
            "name": "baz",
            "type": "string"
        }
    ]
}
$ json <<< '{"type":"object","args":[{"name":"baz","type":"object"}]}'
{
    "type": "object",
    "args": [
        {
            "name": "baz",
            "type": "object"
        }
    ]
}
$ json <<< '{"type":"object","args":[{"name":"baz","type":"array"}]}'
{
    "type": "object",
    "args": [
        {
            "name": "baz",
            "type": "array"
        }
    ]
}
$ json <<< '{"type":"object","args":[{"name":"baz","type":"list"}]}'
json: error: <stdin>:1:47: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:47: t","args":[{"name":"baz","type":"list"}]}
json: error: <stdin>:1:47:                                 ^
command failed: json <<< '{"type":"object","args":[{"name":"baz","type":"list"}]}'
$ json <<< '{"type":"object","args":[{"name":"baz","type":"dict"}]}'
json: error: <stdin>:1:47: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:47: t","args":[{"name":"baz","type":"dict"}]}
json: error: <stdin>:1:47:                                 ^
command failed: json <<< '{"type":"object","args":[{"name":"baz","type":"dict"}]}'
$ json <<< '{"type":"object","args":[{"name":"baz","type":{}}]}'
json: error: <stdin>:1:47: meta error: empty objects are not allowed
json: error: <stdin>:1:47: t","args":[{"name":"baz","type":{}}]}
json: error: <stdin>:1:47:                                 ^
command failed: json <<< '{"type":"object","args":[{"name":"baz","type":{}}]}'
$ json <<< '{"type":"object","args":[{"name":"baz","type":{"foo":"bar"}}]}'
json: error: <stdin>:1:48: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:48: ","args":[{"name":"baz","type":{"foo":"bar"}}]}
json: error: <stdin>:1:48:                                 ^
command failed: json <<< '{"type":"object","args":[{"name":"baz","type":{"foo":"bar"}}]}'
$ json <<< '{"type":"object","args":[{"name":"baz","type":[]}]}'
json: error: <stdin>:1:47: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:47: t","args":[{"name":"baz","type":[]}]}
json: error: <stdin>:1:47:                                 ^
command failed: json <<< '{"type":"object","args":[{"name":"baz","type":[]}]}'
$ json <<< '{"type":"object","args":[{"name":"baz","type":["foo","bar"]}]}'
json: error: <stdin>:1:48: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:48: ","args":[{"name":"baz","type":["foo","bar"]}]}
json: error: <stdin>:1:48:                                 ^
command failed: json <<< '{"type":"object","args":[{"name":"baz","type":["foo","bar"]}]}'
$

--[ open-array ]----------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]' '{"plain":false}' '{"type":"object","args":[]}' '{"type":"array","args":"type"}' '{"type":"array","args":[]}'; do T='{"type":"array","args":'"$v"'}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"array","args":null}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":null}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":null}'
$ json <<< '{"type":"array","args":false}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":false}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":false}'
$ json <<< '{"type":"array","args":true}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":true}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":true}'
$ json <<< '{"type":"array","args":123}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":123}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":123}'
$ json <<< '{"type":"array","args":"foo"}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":"foo"}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":"foo"}'
$ json <<< '{"type":"array","args":"type"}'
{
    "type": "array",
    "args": "type"
}
$ json <<< '{"type":"array","args":"null"}'
{
    "type": "array",
    "args": "null"
}
$ json <<< '{"type":"array","args":"boolean"}'
{
    "type": "array",
    "args": "boolean"
}
$ json <<< '{"type":"array","args":"number"}'
{
    "type": "array",
    "args": "number"
}
$ json <<< '{"type":"array","args":"string"}'
{
    "type": "array",
    "args": "string"
}
$ json <<< '{"type":"array","args":"object"}'
{
    "type": "array",
    "args": "object"
}
$ json <<< '{"type":"array","args":"array"}'
{
    "type": "array",
    "args": "array"
}
$ json <<< '{"type":"array","args":"list"}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":"list"}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":"list"}'
$ json <<< '{"type":"array","args":"dict"}'
json: error: <stdin>:1:24: meta error: invalid "array" object: value of "args" must be a type or an array of types
json: error: <stdin>:1:24: {"type":"array","args":"dict"}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":"dict"}'
$ json <<< '{"type":"array","args":{}}'
json: error: <stdin>:1:24: meta error: empty objects are not allowed
json: error: <stdin>:1:24: {"type":"array","args":{}}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"array","args":{}}'
$ json <<< '{"type":"array","args":{"foo":"bar"}}'
json: error: <stdin>:1:25: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:25: {"type":"array","args":{"foo":"bar"}}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":{"foo":"bar"}}'
$ json <<< '{"type":"array","args":[]}'
{
    "type": "array",
    "args": []
}
$ json <<< '{"type":"array","args":["foo","bar"]}'
json: error: <stdin>:1:25: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:25: {"type":"array","args":["foo","bar"]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":["foo","bar"]}'
$ json <<< '{"type":"array","args":{"plain":false}}'
{
    "type": "array",
    "args": {
        "plain": false
    }
}
$ json <<< '{"type":"array","args":{"type":"object","args":[]}}'
{
    "type": "array",
    "args": {
        "type": "object",
        "args": []
    }
}
$ json <<< '{"type":"array","args":{"type":"array","args":"type"}}'
{
    "type": "array",
    "args": {
        "type": "array",
        "args": "type"
    }
}
$ json <<< '{"type":"array","args":{"type":"array","args":[]}}'
{
    "type": "array",
    "args": {
        "type": "array",
        "args": []
    }
}
$

--[ closed-array ]--------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]' '{"plain":false}' '{"type":"object","args":[]}' '{"type":"array","args":"type"}' '{"type":"array","args":[]}'; do T='{"type":"array","args":['"$v"']}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"array","args":[null]}'
json: error: <stdin>:1:25: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:25: {"type":"array","args":[null]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":[null]}'
$ json <<< '{"type":"array","args":[false]}'
json: error: <stdin>:1:25: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:25: {"type":"array","args":[false]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":[false]}'
$ json <<< '{"type":"array","args":[true]}'
json: error: <stdin>:1:25: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:25: {"type":"array","args":[true]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":[true]}'
$ json <<< '{"type":"array","args":[123]}'
json: error: <stdin>:1:25: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:25: {"type":"array","args":[123]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":[123]}'
$ json <<< '{"type":"array","args":["foo"]}'
json: error: <stdin>:1:25: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:25: {"type":"array","args":["foo"]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":["foo"]}'
$ json <<< '{"type":"array","args":["type"]}'
{
    "type": "array",
    "args": [
        "type"
    ]
}
$ json <<< '{"type":"array","args":["null"]}'
{
    "type": "array",
    "args": [
        "null"
    ]
}
$ json <<< '{"type":"array","args":["boolean"]}'
{
    "type": "array",
    "args": [
        "boolean"
    ]
}
$ json <<< '{"type":"array","args":["number"]}'
{
    "type": "array",
    "args": [
        "number"
    ]
}
$ json <<< '{"type":"array","args":["string"]}'
{
    "type": "array",
    "args": [
        "string"
    ]
}
$ json <<< '{"type":"array","args":["object"]}'
{
    "type": "array",
    "args": [
        "object"
    ]
}
$ json <<< '{"type":"array","args":["array"]}'
{
    "type": "array",
    "args": [
        "array"
    ]
}
$ json <<< '{"type":"array","args":["list"]}'
json: error: <stdin>:1:25: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:25: {"type":"array","args":["list"]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":["list"]}'
$ json <<< '{"type":"array","args":["dict"]}'
json: error: <stdin>:1:25: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:25: {"type":"array","args":["dict"]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":["dict"]}'
$ json <<< '{"type":"array","args":[{}]}'
json: error: <stdin>:1:25: meta error: empty objects are not allowed
json: error: <stdin>:1:25: {"type":"array","args":[{}]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":[{}]}'
$ json <<< '{"type":"array","args":[{"foo":"bar"}]}'
json: error: <stdin>:1:26: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:26: {"type":"array","args":[{"foo":"bar"}]}
json: error: <stdin>:1:26:                          ^
command failed: json <<< '{"type":"array","args":[{"foo":"bar"}]}'
$ json <<< '{"type":"array","args":[[]]}'
json: error: <stdin>:1:25: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:25: {"type":"array","args":[[]]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"array","args":[[]]}'
$ json <<< '{"type":"array","args":[["foo","bar"]]}'
json: error: <stdin>:1:26: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:26: {"type":"array","args":[["foo","bar"]]}
json: error: <stdin>:1:26:                          ^
command failed: json <<< '{"type":"array","args":[["foo","bar"]]}'
$ json <<< '{"type":"array","args":[{"plain":false}]}'
{
    "type": "array",
    "args": [
        {
            "plain": false
        }
    ]
}
$ json <<< '{"type":"array","args":[{"type":"object","args":[]}]}'
{
    "type": "array",
    "args": [
        {
            "type": "object",
            "args": []
        }
    ]
}
$ json <<< '{"type":"array","args":[{"type":"array","args":"type"}]}'
{
    "type": "array",
    "args": [
        {
            "type": "array",
            "args": "type"
        }
    ]
}
$ json <<< '{"type":"array","args":[{"type":"array","args":[]}]}'
{
    "type": "array",
    "args": [
        {
            "type": "array",
            "args": []
        }
    ]
}
$

--[ dict ]----------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '"dict"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]'; do T='{"type":"dict","args":[{"name":"baz","type":'"$v"'}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"dict","args":[{"name":"baz","type":null}]}'
json: error: <stdin>:1:45: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:45: t","args":[{"name":"baz","type":null}]}
json: error: <stdin>:1:45:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"baz","type":null}]}'
$ json <<< '{"type":"dict","args":[{"name":"baz","type":false}]}'
json: error: <stdin>:1:45: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:45: t","args":[{"name":"baz","type":false}]}
json: error: <stdin>:1:45:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"baz","type":false}]}'
$ json <<< '{"type":"dict","args":[{"name":"baz","type":true}]}'
json: error: <stdin>:1:45: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:45: t","args":[{"name":"baz","type":true}]}
json: error: <stdin>:1:45:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"baz","type":true}]}'
$ json <<< '{"type":"dict","args":[{"name":"baz","type":123}]}'
json: error: <stdin>:1:45: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:45: t","args":[{"name":"baz","type":123}]}
json: error: <stdin>:1:45:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"baz","type":123}]}'
$ json <<< '{"type":"dict","args":[{"name":"baz","type":"foo"}]}'
json: error: <stdin>:1:45: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:45: t","args":[{"name":"baz","type":"foo"}]}
json: error: <stdin>:1:45:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"baz","type":"foo"}]}'
$ json <<< '{"type":"dict","args":[{"name":"baz","type":"type"}]}'
{
    "type": "dict",
    "args": [
        {
            "name": "baz",
            "type": "type"
        }
    ],
    "expr": null,
    "attr": {
        "args": {
            "sym": "b",
            "lo": null,
            "eq": {
                "sym": "a",
                "lo": null,
                "eq": {
                    "sym": "z",
                    "lo": null,
                    "eq": {
                        "val": 0,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "expr": [],
        "size": 0
    }
}
$ json <<< '{"type":"dict","args":[{"name":"baz","type":"null"}]}'
{
    "type": "dict",
    "args": [
        {
            "name": "baz",
            "type": "null"
        }
    ],
    "expr": null,
    "attr": {
        "args": {
            "sym": "b",
            "lo": null,
            "eq": {
                "sym": "a",
                "lo": null,
                "eq": {
                    "sym": "z",
                    "lo": null,
                    "eq": {
                        "val": 0,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "expr": [],
        "size": 0
    }
}
$ json <<< '{"type":"dict","args":[{"name":"baz","type":"boolean"}]}'
{
    "type": "dict",
    "args": [
        {
            "name": "baz",
            "type": "boolean"
        }
    ],
    "expr": null,
    "attr": {
        "args": {
            "sym": "b",
            "lo": null,
            "eq": {
                "sym": "a",
                "lo": null,
                "eq": {
                    "sym": "z",
                    "lo": null,
                    "eq": {
                        "val": 0,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "expr": [],
        "size": 0
    }
}
$ json <<< '{"type":"dict","args":[{"name":"baz","type":"number"}]}'
{
    "type": "dict",
    "args": [
        {
            "name": "baz",
            "type": "number"
        }
    ],
    "expr": null,
    "attr": {
        "args": {
            "sym": "b",
            "lo": null,
            "eq": {
                "sym": "a",
                "lo": null,
                "eq": {
                    "sym": "z",
                    "lo": null,
                    "eq": {
                        "val": 0,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "expr": [],
        "size": 0
    }
}
$ json <<< '{"type":"dict","args":[{"name":"baz","type":"string"}]}'
{
    "type": "dict",
    "args": [
        {
            "name": "baz",
            "type": "string"
        }
    ],
    "expr": null,
    "attr": {
        "args": {
            "sym": "b",
            "lo": null,
            "eq": {
                "sym": "a",
                "lo": null,
                "eq": {
                    "sym": "z",
                    "lo": null,
                    "eq": {
                        "val": 0,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "expr": [],
        "size": 0
    }
}
$ json <<< '{"type":"dict","args":[{"name":"baz","type":"object"}]}'
{
    "type": "dict",
    "args": [
        {
            "name": "baz",
            "type": "object"
        }
    ],
    "expr": null,
    "attr": {
        "args": {
            "sym": "b",
            "lo": null,
            "eq": {
                "sym": "a",
                "lo": null,
                "eq": {
                    "sym": "z",
                    "lo": null,
                    "eq": {
                        "val": 0,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "expr": [],
        "size": 0
    }
}
$ json <<< '{"type":"dict","args":[{"name":"baz","type":"array"}]}'
{
    "type": "dict",
    "args": [
        {
            "name": "baz",
            "type": "array"
        }
    ],
    "expr": null,
    "attr": {
        "args": {
            "sym": "b",
            "lo": null,
            "eq": {
                "sym": "a",
                "lo": null,
                "eq": {
                    "sym": "z",
                    "lo": null,
                    "eq": {
                        "val": 0,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "expr": [],
        "size": 0
    }
}
$ json <<< '{"type":"dict","args":[{"name":"baz","type":"list"}]}'
json: error: <stdin>:1:45: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:45: t","args":[{"name":"baz","type":"list"}]}
json: error: <stdin>:1:45:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"baz","type":"list"}]}'
$ json <<< '{"type":"dict","args":[{"name":"baz","type":"dict"}]}'
json: error: <stdin>:1:45: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:45: t","args":[{"name":"baz","type":"dict"}]}
json: error: <stdin>:1:45:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"baz","type":"dict"}]}'
$ json <<< '{"type":"dict","args":[{"name":"baz","type":{}}]}'
json: error: <stdin>:1:45: meta error: empty objects are not allowed
json: error: <stdin>:1:45: t","args":[{"name":"baz","type":{}}]}
json: error: <stdin>:1:45:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"baz","type":{}}]}'
$ json <<< '{"type":"dict","args":[{"name":"baz","type":{"foo":"bar"}}]}'
json: error: <stdin>:1:46: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:46: ","args":[{"name":"baz","type":{"foo":"bar"}}]}
json: error: <stdin>:1:46:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"baz","type":{"foo":"bar"}}]}'
$ json <<< '{"type":"dict","args":[{"name":"baz","type":[]}]}'
json: error: <stdin>:1:45: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:45: t","args":[{"name":"baz","type":[]}]}
json: error: <stdin>:1:45:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"baz","type":[]}]}'
$ json <<< '{"type":"dict","args":[{"name":"baz","type":["foo","bar"]}]}'
json: error: <stdin>:1:46: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:46: ","args":[{"name":"baz","type":["foo","bar"]}]}
json: error: <stdin>:1:46:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"baz","type":["foo","bar"]}]}'
$

--[ dict2 ]---------------------------------------------------------------------

$ json <<< '{"type":"dict","args":[],"foo":null,"bar":false}'
json: error: <stdin>:1:1: meta error: invalid "type" object: arguments not of size two or three
json: error: <stdin>:1:1: {"type":"dict","args":[],"foo":nu
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","args":[],"foo":null,"bar":false}'
$ json <<< '{"type":"dict","args":[],"foo":null}'
json: error: <stdin>:1:1: meta error: invalid "type" object: key of third argument is not "expr"
json: error: <stdin>:1:1: {"type":"dict","args":[],"foo":nu
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict","args":[],"foo":null}'
$ json <<< '{"type":"dict","args":[],"expr":null}'
json: error: <stdin>:1:33: meta error: invalid "dict" object: value of "expr" must be a string
json: error: <stdin>:1:33: {"type":"dict","args":[],"expr":null}
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '{"type":"dict","args":[],"expr":null}'
$ json <<< '{"type":"dict","args":[],"expr":""}'
json: error: <stdin>:1:34: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:1:34: "type":"dict","args":[],"expr":""}
json: error: <stdin>:1:34:                                 ^
command failed: json <<< '{"type":"dict","args":[],"expr":""}'
$

--[ dict-dup ]------------------------------------------------------------------

#
# # meta command:
# $ for v in '{"plain":null}' '{"plain":false}' '{"plain":true}' '{"plain":123}' '{"plain":"foo"}' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"'; do T='{"type":"dict","args":[{"name":"foo","type":'"$v"'},{"name":"foo","type":"type"}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"dict","args":[{"name":"foo","type":{"plain":null}},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:69: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:69: ,"type":{"plain":null}},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:69:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":{"plain":null}},{"name":"foo","type":"type"}]}'
$ json <<< '{"type":"dict","args":[{"name":"foo","type":{"plain":false}},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:70: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:70: "type":{"plain":false}},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:70:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":{"plain":false}},{"name":"foo","type":"type"}]}'
$ json <<< '{"type":"dict","args":[{"name":"foo","type":{"plain":true}},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:69: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:69: ,"type":{"plain":true}},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:69:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":{"plain":true}},{"name":"foo","type":"type"}]}'
$ json <<< '{"type":"dict","args":[{"name":"foo","type":{"plain":123}},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:68: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:68: ","type":{"plain":123}},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:68:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":{"plain":123}},{"name":"foo","type":"type"}]}'
$ json <<< '{"type":"dict","args":[{"name":"foo","type":{"plain":"foo"}},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:70: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:70: "type":{"plain":"foo"}},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:70:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":{"plain":"foo"}},{"name":"foo","type":"type"}]}'
$ json <<< '{"type":"dict","args":[{"name":"foo","type":"type"},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:61: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:61: e":"foo","type":"type"},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:61:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":"type"},{"name":"foo","type":"type"}]}'
$ json <<< '{"type":"dict","args":[{"name":"foo","type":"null"},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:61: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:61: e":"foo","type":"null"},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:61:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":"null"},{"name":"foo","type":"type"}]}'
$ json <<< '{"type":"dict","args":[{"name":"foo","type":"boolean"},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:64: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:64: "foo","type":"boolean"},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:64:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":"boolean"},{"name":"foo","type":"type"}]}'
$ json <<< '{"type":"dict","args":[{"name":"foo","type":"number"},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:63: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:63: :"foo","type":"number"},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:63:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":"number"},{"name":"foo","type":"type"}]}'
$ json <<< '{"type":"dict","args":[{"name":"foo","type":"string"},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:63: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:63: :"foo","type":"string"},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:63:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":"string"},{"name":"foo","type":"type"}]}'
$ json <<< '{"type":"dict","args":[{"name":"foo","type":"object"},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:63: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:63: :"foo","type":"object"},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:63:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":"object"},{"name":"foo","type":"type"}]}'
$ json <<< '{"type":"dict","args":[{"name":"foo","type":"array"},{"name":"foo","type":"type"}]}'
json: error: <stdin>:1:62: attribute error: invalid "dict" type object: duplicate key name (previous defined at 1:32)
json: error: <stdin>:1:62: ":"foo","type":"array"},{"name":"foo","type":"type"}]}
json: error: <stdin>:1:62:                                 ^
command failed: json <<< '{"type":"dict","args":[{"name":"foo","type":"array"},{"name":"foo","type":"type"}]}'
$

--[ dict-expr-ascii ]-----------------------------------------------------------

$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V -TA <<< '{"type":"dict","args":[{"name":"a","type":"number"},{"name":"b","type":"number"},{"name":"c","type":"number"}],"expr":'$'\n"'"$1"'"}'|sed -nr 's/^.*"bits":"([^"]*)".*$/\1/p'; }
#
# # meta command:
# $ awk 'BEGIN{for(k=0;k<0x80;k++){if(k>=0x20&&k<0x7f&&k!=0x27){f="";s=sprintf("%c",k)}else{f="$";s=sprintf("\\x%x",k)}printf("%s\x27%s\x27\n",f,s)}}'|while read -r c0; do c="json $c0"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json $'\x0'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n""}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x0'
# # avoid a nasty bash bug:
# $ json $'\x1'
# json: error: <stdin>:2:2: parse error: invalid string literal
# json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x01"}
# json: error: <stdin>:2:2:                                  ^
# command failed: json $'\x1'
$ json $'\x2'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x02"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x2'
$ json $'\x3'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x03"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x3'
$ json $'\x4'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x04"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x4'
$ json $'\x5'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x05"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x5'
$ json $'\x6'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x06"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x6'
$ json $'\x7'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\a"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x7'
$ json $'\x8'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\b"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x8'
$ json $'\x9'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\t"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x9'
$ json $'\xa'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\n"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\xa'
$ json $'\xb'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\v"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\xb'
$ json $'\xc'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\f"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\xc'
$ json $'\xd'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\r"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\xd'
$ json $'\xe'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x0e"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\xe'
$ json $'\xf'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x0f"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\xf'
$ json $'\x10'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x10"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x10'
$ json $'\x11'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x11"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x11'
$ json $'\x12'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x12"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x12'
$ json $'\x13'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x13"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x13'
$ json $'\x14'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x14"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x14'
$ json $'\x15'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x15"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x15'
$ json $'\x16'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x16"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x16'
$ json $'\x17'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x17"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x17'
$ json $'\x18'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x18"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x18'
$ json $'\x19'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x19"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x19'
$ json $'\x1a'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x1a"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x1a'
$ json $'\x1b'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x1b"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x1b'
$ json $'\x1c'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x1c"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x1c'
$ json $'\x1d'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x1d"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x1d'
$ json $'\x1e'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x1e"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x1e'
$ json $'\x1f'
json: error: <stdin>:2:2: parse error: invalid string literal
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x1f"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x1f'
$ json ' '
json: error: <stdin>:2:3: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:2:3: "c","type":"number"}],"expr":\n" "}
json: error: <stdin>:2:3:                                  ^
command failed: json ' '
$ json '!'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"!"}
json: error: <stdin>:2:2:                                  ^
command failed: json '!'
$ json '"'
json: error: <stdin>:2:5: parse error: invalid string literal
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"""}
json: error: <stdin>:2:5:                                  ^
command failed: json '"'
$ json '#'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"#"}
json: error: <stdin>:2:2:                                  ^
command failed: json '#'
$ json '$'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"$"}
json: error: <stdin>:2:2:                                  ^
command failed: json '$'
$ json '%'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"%"}
json: error: <stdin>:2:2:                                  ^
command failed: json '%'
$ json '&'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"&"}
json: error: <stdin>:2:2:                                  ^
command failed: json '&'
$ json $'\x27'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"'"}
json: error: <stdin>:2:2:                                  ^
command failed: json $'\x27'
$ json '('
json: error: <stdin>:2:3: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:2:3: "c","type":"number"}],"expr":\n"("}
json: error: <stdin>:2:3:                                  ^
command failed: json '('
$ json ')'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n")"}
json: error: <stdin>:2:2:                                  ^
command failed: json ')'
$ json '*'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"*"}
json: error: <stdin>:2:2:                                  ^
command failed: json '*'
$ json '+'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"+"}
json: error: <stdin>:2:2:                                  ^
command failed: json '+'
$ json ','
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n","}
json: error: <stdin>:2:2:                                  ^
command failed: json ','
$ json '-'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"-"}
json: error: <stdin>:2:2:                                  ^
command failed: json '-'
$ json '.'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"."}
json: error: <stdin>:2:2:                                  ^
command failed: json '.'
$ json '/'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"/"}
json: error: <stdin>:2:2:                                  ^
command failed: json '/'
$ json '0'
000
$ json '1'
111
$ json '2'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"2"}
json: error: <stdin>:2:2:                                  ^
command failed: json '2'
$ json '3'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"3"}
json: error: <stdin>:2:2:                                  ^
command failed: json '3'
$ json '4'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"4"}
json: error: <stdin>:2:2:                                  ^
command failed: json '4'
$ json '5'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"5"}
json: error: <stdin>:2:2:                                  ^
command failed: json '5'
$ json '6'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"6"}
json: error: <stdin>:2:2:                                  ^
command failed: json '6'
$ json '7'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"7"}
json: error: <stdin>:2:2:                                  ^
command failed: json '7'
$ json '8'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"8"}
json: error: <stdin>:2:2:                                  ^
command failed: json '8'
$ json '9'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"9"}
json: error: <stdin>:2:2:                                  ^
command failed: json '9'
$ json ':'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n":"}
json: error: <stdin>:2:2:                                  ^
command failed: json ':'
$ json ';'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n";"}
json: error: <stdin>:2:2:                                  ^
command failed: json ';'
$ json '<'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"<"}
json: error: <stdin>:2:2:                                  ^
command failed: json '<'
$ json '='
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"="}
json: error: <stdin>:2:2:                                  ^
command failed: json '='
$ json '>'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n">"}
json: error: <stdin>:2:2:                                  ^
command failed: json '>'
$ json '?'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"?"}
json: error: <stdin>:2:2:                                  ^
command failed: json '?'
$ json '@'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"@"}
json: error: <stdin>:2:2:                                  ^
command failed: json '@'
$ json 'A'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"A"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'A'
$ json 'B'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"B"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'B'
$ json 'C'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"C"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'C'
$ json 'D'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"D"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'D'
$ json 'E'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"E"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'E'
$ json 'F'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"F"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'F'
$ json 'G'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"G"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'G'
$ json 'H'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"H"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'H'
$ json 'I'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"I"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'I'
$ json 'J'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"J"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'J'
$ json 'K'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"K"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'K'
$ json 'L'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"L"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'L'
$ json 'M'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"M"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'M'
$ json 'N'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"N"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'N'
$ json 'O'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"O"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'O'
$ json 'P'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"P"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'P'
$ json 'Q'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"Q"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'Q'
$ json 'R'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"R"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'R'
$ json 'S'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"S"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'S'
$ json 'T'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"T"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'T'
$ json 'U'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"U"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'U'
$ json 'V'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"V"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'V'
$ json 'W'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"W"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'W'
$ json 'X'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"X"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'X'
$ json 'Y'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"Y"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'Y'
$ json 'Z'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"Z"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'Z'
$ json '['
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"["}
json: error: <stdin>:2:2:                                  ^
command failed: json '['
$ json '\'
json: error: <stdin>:2:5: parse error: invalid string literal
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"\\"}
json: error: <stdin>:2:5:                                   ^
command failed: json '\'
$ json ']'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"]"}
json: error: <stdin>:2:2:                                  ^
command failed: json ']'
$ json '^'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"^"}
json: error: <stdin>:2:2:                                  ^
command failed: json '^'
$ json '_'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"_"}
json: error: <stdin>:2:2:                                  ^
command failed: json '_'
$ json '`'
json: error: <stdin>:2:3: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:2:3: "c","type":"number"}],"expr":\n"`"}
json: error: <stdin>:2:3:                                  ^
command failed: json '`'
$ json 'a'
100
$ json 'b'
010
$ json 'c'
001
$ json 'd'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"d"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'd'
$ json 'e'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"e"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'e'
$ json 'f'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"f"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'f'
$ json 'g'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"g"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'g'
$ json 'h'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"h"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'h'
$ json 'i'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"i"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'i'
$ json 'j'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"j"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'j'
$ json 'k'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"k"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'k'
$ json 'l'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"l"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'l'
$ json 'm'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"m"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'm'
$ json 'n'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"n"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'n'
$ json 'o'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"o"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'o'
$ json 'p'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"p"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'p'
$ json 'q'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"q"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'q'
$ json 'r'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"r"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'r'
$ json 's'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"s"}
json: error: <stdin>:2:2:                                  ^
command failed: json 's'
$ json 't'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"t"}
json: error: <stdin>:2:2:                                  ^
command failed: json 't'
$ json 'u'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"u"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'u'
$ json 'v'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"v"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'v'
$ json 'w'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"w"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'w'
$ json 'x'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"x"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'x'
$ json 'y'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"y"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'y'
$ json 'z'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"z"}
json: error: <stdin>:2:2:                                  ^
command failed: json 'z'
$ json '{'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"{"}
json: error: <stdin>:2:2:                                  ^
command failed: json '{'
$ json '|'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"|"}
json: error: <stdin>:2:2:                                  ^
command failed: json '|'
$ json '}'
json: error: <stdin>:2:2: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"}"}
json: error: <stdin>:2:2:                                  ^
command failed: json '}'
$ json '~'
json: error: <stdin>:2:3: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:2:3: "c","type":"number"}],"expr":\n"~"}
json: error: <stdin>:2:3:                                  ^
command failed: json '~'
# # avoid a nasty bash bug:
# $ json $'\x7f'
# json: error: <stdin>:2:2: parse error: invalid string literal
# json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"\x7f"}
# json: error: <stdin>:2:2:                                  ^
# command failed: json $'\x7f'
$

--[ dict-expr-escape ]----------------------------------------------------------

$ json() { LD_LIBRARY_PATH=../lib ../src/json -V -TA <<< '{"type":"dict","args":[{"name":"a","type":"number"},{"name":"b","type":"number"},{"name":"c","type":"number"}],"expr":'$'\n"'"$1"'"}'; }
#
# # meta command:
# $ for c in '"' \\ / b f n r t; do c="json 'a \\n\\f\\$c|'"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json 'a \n\f\"|'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a \\n\\f\\"|"}
json: error: <stdin>:2:8:                                    ^
command failed: json 'a \n\f\"|'
$ json 'a \n\f\\|'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a \\n\\f\\\\|"}
json: error: <stdin>:2:8:                                    ^
command failed: json 'a \n\f\\|'
$ json 'a \n\f\/|'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a \\n\\f\\/|"}
json: error: <stdin>:2:8:                                    ^
command failed: json 'a \n\f\/|'
$ json 'a \n\f\b|'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected char
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a \\n\\f\\b|"}
json: error: <stdin>:2:8:                                    ^
command failed: json 'a \n\f\b|'
$ json 'a \n\f\f|'
json: error: <stdin>:2:11: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:2:11: e":"number"}],"expr":\n"a \\n\\f\\f|"}
json: error: <stdin>:2:11:                                     ^
command failed: json 'a \n\f\f|'
$ json 'a \n\f\n|'
json: error: <stdin>:2:11: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:2:11: e":"number"}],"expr":\n"a \\n\\f\\n|"}
json: error: <stdin>:2:11:                                     ^
command failed: json 'a \n\f\n|'
$ json 'a \n\f\r|'
json: error: <stdin>:2:11: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:2:11: e":"number"}],"expr":\n"a \\n\\f\\r|"}
json: error: <stdin>:2:11:                                     ^
command failed: json 'a \n\f\r|'
$ json 'a \n\f\t|'
json: error: <stdin>:2:11: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:2:11: e":"number"}],"expr":\n"a \\n\\f\\t|"}
json: error: <stdin>:2:11:                                     ^
command failed: json 'a \n\f\t|'
$

--[ dict-expr-const ]-----------------------------------------------------------

$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V -TA <<< '{"type":"dict","args":[{"name":"a","type":"number"},{"name":"b","type":"number"},{"name":"c","type":"number"}],"expr":'$'\n"'"$1"'"}'|LD_LIBRARY_PATH=../lib ../src/json -J --no-error|sed -nr 's|^/attr/expr/bits=||p'; }
$ json '0'
000
$ json '1'
111
$ json '~0'
111
$ json '~1'
000
$ json '0&0'
000
$ json '0&1'
000
$ json '1&0'
000
$ json '1&1'
111
$ json '00'
000
$ json '01'
000
$ json '10'
000
$ json '11'
111
$ json '0|0'
000
$ json '0|1'
111
$ json '1|0'
111
$ json '1|1'
111
$ json '(0)'
000
$ json '(1)'
111
$ json '~(0)'
111
$ json '~(1)'
000
$ json '(0&0)'
000
$ json '(0&1)'
000
$ json '(1&0)'
000
$ json '(1&1)'
111
$ json '~(0&0)'
111
$ json '~(0&1)'
111
$ json '~(1&0)'
111
$ json '~(1&1)'
000
$ json '(00)'
000
$ json '(01)'
000
$ json '(10)'
000
$ json '(11)'
111
$ json '~(00)'
111
$ json '~(01)'
111
$ json '~(10)'
111
$ json '~(11)'
000
$ json '(0 0)'
000
$ json '(0 1)'
000
$ json '(1 0)'
000
$ json '(1 1)'
111
$ json '~(0 0)'
111
$ json '~(0 1)'
111
$ json '~(1 0)'
111
$ json '~(1 1)'
000
$ json '(0|0)'
000
$ json '(0|1)'
111
$ json '(1|0)'
111
$ json '(1|1)'
111
$ json '~(0|0)'
111
$ json '~(0|1)'
000
$ json '~(1|0)'
000
$ json '~(1|1)'
000
$ json '0||0'
000
000
$ json '0||~0'
000
111
$ json '~0||0'
111
000
$ json '~0||~0'
111
111
$ json '0||1'
000
111
$ json '0||~1'
000
000
$ json '~0||1'
111
111
$ json '~0||~1'
111
000
$ json '1||0'
111
000
$ json '1||~0'
111
111
$ json '~1||0'
000
000
$ json '~1||~0'
000
111
$ json '1||1'
111
111
$ json '1||~1'
111
000
$ json '~1||1'
000
111
$ json '~1||~1'
000
000
$ 
 
--[ dict-expr-keys ]------------------------------------------------------------

$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V -TA <<< '{"type":"dict","args":[{"name":"a","type":"number"},{"name":"b","type":"number"},{"name":"c","type":"number"}],"expr":'$'\n"'"$1"'"}'|LD_LIBRARY_PATH=../lib ../src/json -J --no-error|sed -nr 's|^/attr/expr/bits=||p'; }
#
# # meta command:
# $ for o in ' ' '&' '|' '||'; do for x in a '~a' b '~b' c '~c'; do for y in a '~a' b '~b' c '~c'; do c="json '$x$o$y'"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done; done; done
#
$ json 'a a'
100
$ json 'a ~a'
000
$ json 'a b'
000
$ json 'a ~b'
100
$ json 'a c'
000
$ json 'a ~c'
100
$ json '~a a'
000
$ json '~a ~a'
011
$ json '~a b'
010
$ json '~a ~b'
001
$ json '~a c'
001
$ json '~a ~c'
010
$ json 'b a'
000
$ json 'b ~a'
010
$ json 'b b'
010
$ json 'b ~b'
000
$ json 'b c'
000
$ json 'b ~c'
010
$ json '~b a'
100
$ json '~b ~a'
001
$ json '~b b'
000
$ json '~b ~b'
101
$ json '~b c'
001
$ json '~b ~c'
100
$ json 'c a'
000
$ json 'c ~a'
001
$ json 'c b'
000
$ json 'c ~b'
001
$ json 'c c'
001
$ json 'c ~c'
000
$ json '~c a'
100
$ json '~c ~a'
010
$ json '~c b'
010
$ json '~c ~b'
100
$ json '~c c'
000
$ json '~c ~c'
110
$ json 'a&a'
100
$ json 'a&~a'
000
$ json 'a&b'
000
$ json 'a&~b'
100
$ json 'a&c'
000
$ json 'a&~c'
100
$ json '~a&a'
000
$ json '~a&~a'
011
$ json '~a&b'
010
$ json '~a&~b'
001
$ json '~a&c'
001
$ json '~a&~c'
010
$ json 'b&a'
000
$ json 'b&~a'
010
$ json 'b&b'
010
$ json 'b&~b'
000
$ json 'b&c'
000
$ json 'b&~c'
010
$ json '~b&a'
100
$ json '~b&~a'
001
$ json '~b&b'
000
$ json '~b&~b'
101
$ json '~b&c'
001
$ json '~b&~c'
100
$ json 'c&a'
000
$ json 'c&~a'
001
$ json 'c&b'
000
$ json 'c&~b'
001
$ json 'c&c'
001
$ json 'c&~c'
000
$ json '~c&a'
100
$ json '~c&~a'
010
$ json '~c&b'
010
$ json '~c&~b'
100
$ json '~c&c'
000
$ json '~c&~c'
110
$ json 'a|a'
100
$ json 'a|~a'
111
$ json 'a|b'
110
$ json 'a|~b'
101
$ json 'a|c'
101
$ json 'a|~c'
110
$ json '~a|a'
111
$ json '~a|~a'
011
$ json '~a|b'
011
$ json '~a|~b'
111
$ json '~a|c'
011
$ json '~a|~c'
111
$ json 'b|a'
110
$ json 'b|~a'
011
$ json 'b|b'
010
$ json 'b|~b'
111
$ json 'b|c'
011
$ json 'b|~c'
110
$ json '~b|a'
101
$ json '~b|~a'
111
$ json '~b|b'
111
$ json '~b|~b'
101
$ json '~b|c'
101
$ json '~b|~c'
111
$ json 'c|a'
101
$ json 'c|~a'
011
$ json 'c|b'
011
$ json 'c|~b'
101
$ json 'c|c'
001
$ json 'c|~c'
111
$ json '~c|a'
110
$ json '~c|~a'
111
$ json '~c|b'
110
$ json '~c|~b'
111
$ json '~c|c'
111
$ json '~c|~c'
110
$ json 'a||a'
100
100
$ json 'a||~a'
100
011
$ json 'a||b'
100
010
$ json 'a||~b'
100
101
$ json 'a||c'
100
001
$ json 'a||~c'
100
110
$ json '~a||a'
011
100
$ json '~a||~a'
011
011
$ json '~a||b'
011
010
$ json '~a||~b'
011
101
$ json '~a||c'
011
001
$ json '~a||~c'
011
110
$ json 'b||a'
010
100
$ json 'b||~a'
010
011
$ json 'b||b'
010
010
$ json 'b||~b'
010
101
$ json 'b||c'
010
001
$ json 'b||~c'
010
110
$ json '~b||a'
101
100
$ json '~b||~a'
101
011
$ json '~b||b'
101
010
$ json '~b||~b'
101
101
$ json '~b||c'
101
001
$ json '~b||~c'
101
110
$ json 'c||a'
001
100
$ json 'c||~a'
001
011
$ json 'c||b'
001
010
$ json 'c||~b'
001
101
$ json 'c||c'
001
001
$ json 'c||~c'
001
110
$ json '~c||a'
110
100
$ json '~c||~a'
110
011
$ json '~c||b'
110
010
$ json '~c||~b'
110
101
$ json '~c||c'
110
001
$ json '~c||~c'
110
110
$ 
 
--[ dict-expr-keys2 ]-----------------------------------------------------------

$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V -TA <<< '{"type":"dict","args":[{"name":"a","type":"number"},{"name":"b","type":"number"},{"name":"c","type":"number"}],"expr":'$'\n"'"$1"'"}'|LD_LIBRARY_PATH=../lib ../src/json -J --no-error|sed -nr 's|^/attr/expr/bits=||p'; }
#
# # meta command:
# $ for o1 in '&' '|' '||'; do for o2 in '&' '|' '||'; do for x in a '~a' b '~b' c '~c'; do for y in a '~a' b '~b' c '~c'; do for z in a '~a' b '~b' c '~c'; do [ "$x" == "$y" -o "$y" == "$z" -o "$z" == "$x" ] && continue; c="json '$x$o1$y$o2$z'"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done; done; done; done; done
#
$ json 'a&~a&b'
000
$ json 'a&~a&~b'
000
$ json 'a&~a&c'
000
$ json 'a&~a&~c'
000
$ json 'a&b&~a'
000
$ json 'a&b&~b'
000
$ json 'a&b&c'
000
$ json 'a&b&~c'
000
$ json 'a&~b&~a'
000
$ json 'a&~b&b'
000
$ json 'a&~b&c'
000
$ json 'a&~b&~c'
100
$ json 'a&c&~a'
000
$ json 'a&c&b'
000
$ json 'a&c&~b'
000
$ json 'a&c&~c'
000
$ json 'a&~c&~a'
000
$ json 'a&~c&b'
000
$ json 'a&~c&~b'
100
$ json 'a&~c&c'
000
$ json '~a&a&b'
000
$ json '~a&a&~b'
000
$ json '~a&a&c'
000
$ json '~a&a&~c'
000
$ json '~a&b&a'
000
$ json '~a&b&~b'
000
$ json '~a&b&c'
000
$ json '~a&b&~c'
010
$ json '~a&~b&a'
000
$ json '~a&~b&b'
000
$ json '~a&~b&c'
001
$ json '~a&~b&~c'
000
$ json '~a&c&a'
000
$ json '~a&c&b'
000
$ json '~a&c&~b'
001
$ json '~a&c&~c'
000
$ json '~a&~c&a'
000
$ json '~a&~c&b'
010
$ json '~a&~c&~b'
000
$ json '~a&~c&c'
000
$ json 'b&a&~a'
000
$ json 'b&a&~b'
000
$ json 'b&a&c'
000
$ json 'b&a&~c'
000
$ json 'b&~a&a'
000
$ json 'b&~a&~b'
000
$ json 'b&~a&c'
000
$ json 'b&~a&~c'
010
$ json 'b&~b&a'
000
$ json 'b&~b&~a'
000
$ json 'b&~b&c'
000
$ json 'b&~b&~c'
000
$ json 'b&c&a'
000
$ json 'b&c&~a'
000
$ json 'b&c&~b'
000
$ json 'b&c&~c'
000
$ json 'b&~c&a'
000
$ json 'b&~c&~a'
010
$ json 'b&~c&~b'
000
$ json 'b&~c&c'
000
$ json '~b&a&~a'
000
$ json '~b&a&b'
000
$ json '~b&a&c'
000
$ json '~b&a&~c'
100
$ json '~b&~a&a'
000
$ json '~b&~a&b'
000
$ json '~b&~a&c'
001
$ json '~b&~a&~c'
000
$ json '~b&b&a'
000
$ json '~b&b&~a'
000
$ json '~b&b&c'
000
$ json '~b&b&~c'
000
$ json '~b&c&a'
000
$ json '~b&c&~a'
001
$ json '~b&c&b'
000
$ json '~b&c&~c'
000
$ json '~b&~c&a'
100
$ json '~b&~c&~a'
000
$ json '~b&~c&b'
000
$ json '~b&~c&c'
000
$ json 'c&a&~a'
000
$ json 'c&a&b'
000
$ json 'c&a&~b'
000
$ json 'c&a&~c'
000
$ json 'c&~a&a'
000
$ json 'c&~a&b'
000
$ json 'c&~a&~b'
001
$ json 'c&~a&~c'
000
$ json 'c&b&a'
000
$ json 'c&b&~a'
000
$ json 'c&b&~b'
000
$ json 'c&b&~c'
000
$ json 'c&~b&a'
000
$ json 'c&~b&~a'
001
$ json 'c&~b&b'
000
$ json 'c&~b&~c'
000
$ json 'c&~c&a'
000
$ json 'c&~c&~a'
000
$ json 'c&~c&b'
000
$ json 'c&~c&~b'
000
$ json '~c&a&~a'
000
$ json '~c&a&b'
000
$ json '~c&a&~b'
100
$ json '~c&a&c'
000
$ json '~c&~a&a'
000
$ json '~c&~a&b'
010
$ json '~c&~a&~b'
000
$ json '~c&~a&c'
000
$ json '~c&b&a'
000
$ json '~c&b&~a'
010
$ json '~c&b&~b'
000
$ json '~c&b&c'
000
$ json '~c&~b&a'
100
$ json '~c&~b&~a'
000
$ json '~c&~b&b'
000
$ json '~c&~b&c'
000
$ json '~c&c&a'
000
$ json '~c&c&~a'
000
$ json '~c&c&b'
000
$ json '~c&c&~b'
000
$ json 'a&~a|b'
010
$ json 'a&~a|~b'
101
$ json 'a&~a|c'
001
$ json 'a&~a|~c'
110
$ json 'a&b|~a'
011
$ json 'a&b|~b'
101
$ json 'a&b|c'
001
$ json 'a&b|~c'
110
$ json 'a&~b|~a'
111
$ json 'a&~b|b'
110
$ json 'a&~b|c'
101
$ json 'a&~b|~c'
110
$ json 'a&c|~a'
011
$ json 'a&c|b'
010
$ json 'a&c|~b'
101
$ json 'a&c|~c'
110
$ json 'a&~c|~a'
111
$ json 'a&~c|b'
110
$ json 'a&~c|~b'
101
$ json 'a&~c|c'
101
$ json '~a&a|b'
010
$ json '~a&a|~b'
101
$ json '~a&a|c'
001
$ json '~a&a|~c'
110
$ json '~a&b|a'
110
$ json '~a&b|~b'
111
$ json '~a&b|c'
011
$ json '~a&b|~c'
110
$ json '~a&~b|a'
101
$ json '~a&~b|b'
011
$ json '~a&~b|c'
001
$ json '~a&~b|~c'
111
$ json '~a&c|a'
101
$ json '~a&c|b'
011
$ json '~a&c|~b'
101
$ json '~a&c|~c'
111
$ json '~a&~c|a'
110
$ json '~a&~c|b'
010
$ json '~a&~c|~b'
111
$ json '~a&~c|c'
011
$ json 'b&a|~a'
011
$ json 'b&a|~b'
101
$ json 'b&a|c'
001
$ json 'b&a|~c'
110
$ json 'b&~a|a'
110
$ json 'b&~a|~b'
111
$ json 'b&~a|c'
011
$ json 'b&~a|~c'
110
$ json 'b&~b|a'
100
$ json 'b&~b|~a'
011
$ json 'b&~b|c'
001
$ json 'b&~b|~c'
110
$ json 'b&c|a'
100
$ json 'b&c|~a'
011
$ json 'b&c|~b'
101
$ json 'b&c|~c'
110
$ json 'b&~c|a'
110
$ json 'b&~c|~a'
011
$ json 'b&~c|~b'
111
$ json 'b&~c|c'
011
$ json '~b&a|~a'
111
$ json '~b&a|b'
110
$ json '~b&a|c'
101
$ json '~b&a|~c'
110
$ json '~b&~a|a'
101
$ json '~b&~a|b'
011
$ json '~b&~a|c'
001
$ json '~b&~a|~c'
111
$ json '~b&b|a'
100
$ json '~b&b|~a'
011
$ json '~b&b|c'
001
$ json '~b&b|~c'
110
$ json '~b&c|a'
101
$ json '~b&c|~a'
011
$ json '~b&c|b'
011
$ json '~b&c|~c'
111
$ json '~b&~c|a'
100
$ json '~b&~c|~a'
111
$ json '~b&~c|b'
110
$ json '~b&~c|c'
101
$ json 'c&a|~a'
011
$ json 'c&a|b'
010
$ json 'c&a|~b'
101
$ json 'c&a|~c'
110
$ json 'c&~a|a'
101
$ json 'c&~a|b'
011
$ json 'c&~a|~b'
101
$ json 'c&~a|~c'
111
$ json 'c&b|a'
100
$ json 'c&b|~a'
011
$ json 'c&b|~b'
101
$ json 'c&b|~c'
110
$ json 'c&~b|a'
101
$ json 'c&~b|~a'
011
$ json 'c&~b|b'
011
$ json 'c&~b|~c'
111
$ json 'c&~c|a'
100
$ json 'c&~c|~a'
011
$ json 'c&~c|b'
010
$ json 'c&~c|~b'
101
$ json '~c&a|~a'
111
$ json '~c&a|b'
110
$ json '~c&a|~b'
101
$ json '~c&a|c'
101
$ json '~c&~a|a'
110
$ json '~c&~a|b'
010
$ json '~c&~a|~b'
111
$ json '~c&~a|c'
011
$ json '~c&b|a'
110
$ json '~c&b|~a'
011
$ json '~c&b|~b'
111
$ json '~c&b|c'
011
$ json '~c&~b|a'
100
$ json '~c&~b|~a'
111
$ json '~c&~b|b'
110
$ json '~c&~b|c'
101
$ json '~c&c|a'
100
$ json '~c&c|~a'
011
$ json '~c&c|b'
010
$ json '~c&c|~b'
101
$ json 'a&~a||b'
000
010
$ json 'a&~a||~b'
000
101
$ json 'a&~a||c'
000
001
$ json 'a&~a||~c'
000
110
$ json 'a&b||~a'
000
011
$ json 'a&b||~b'
000
101
$ json 'a&b||c'
000
001
$ json 'a&b||~c'
000
110
$ json 'a&~b||~a'
100
011
$ json 'a&~b||b'
100
010
$ json 'a&~b||c'
100
001
$ json 'a&~b||~c'
100
110
$ json 'a&c||~a'
000
011
$ json 'a&c||b'
000
010
$ json 'a&c||~b'
000
101
$ json 'a&c||~c'
000
110
$ json 'a&~c||~a'
100
011
$ json 'a&~c||b'
100
010
$ json 'a&~c||~b'
100
101
$ json 'a&~c||c'
100
001
$ json '~a&a||b'
000
010
$ json '~a&a||~b'
000
101
$ json '~a&a||c'
000
001
$ json '~a&a||~c'
000
110
$ json '~a&b||a'
010
100
$ json '~a&b||~b'
010
101
$ json '~a&b||c'
010
001
$ json '~a&b||~c'
010
110
$ json '~a&~b||a'
001
100
$ json '~a&~b||b'
001
010
$ json '~a&~b||c'
001
001
$ json '~a&~b||~c'
001
110
$ json '~a&c||a'
001
100
$ json '~a&c||b'
001
010
$ json '~a&c||~b'
001
101
$ json '~a&c||~c'
001
110
$ json '~a&~c||a'
010
100
$ json '~a&~c||b'
010
010
$ json '~a&~c||~b'
010
101
$ json '~a&~c||c'
010
001
$ json 'b&a||~a'
000
011
$ json 'b&a||~b'
000
101
$ json 'b&a||c'
000
001
$ json 'b&a||~c'
000
110
$ json 'b&~a||a'
010
100
$ json 'b&~a||~b'
010
101
$ json 'b&~a||c'
010
001
$ json 'b&~a||~c'
010
110
$ json 'b&~b||a'
000
100
$ json 'b&~b||~a'
000
011
$ json 'b&~b||c'
000
001
$ json 'b&~b||~c'
000
110
$ json 'b&c||a'
000
100
$ json 'b&c||~a'
000
011
$ json 'b&c||~b'
000
101
$ json 'b&c||~c'
000
110
$ json 'b&~c||a'
010
100
$ json 'b&~c||~a'
010
011
$ json 'b&~c||~b'
010
101
$ json 'b&~c||c'
010
001
$ json '~b&a||~a'
100
011
$ json '~b&a||b'
100
010
$ json '~b&a||c'
100
001
$ json '~b&a||~c'
100
110
$ json '~b&~a||a'
001
100
$ json '~b&~a||b'
001
010
$ json '~b&~a||c'
001
001
$ json '~b&~a||~c'
001
110
$ json '~b&b||a'
000
100
$ json '~b&b||~a'
000
011
$ json '~b&b||c'
000
001
$ json '~b&b||~c'
000
110
$ json '~b&c||a'
001
100
$ json '~b&c||~a'
001
011
$ json '~b&c||b'
001
010
$ json '~b&c||~c'
001
110
$ json '~b&~c||a'
100
100
$ json '~b&~c||~a'
100
011
$ json '~b&~c||b'
100
010
$ json '~b&~c||c'
100
001
$ json 'c&a||~a'
000
011
$ json 'c&a||b'
000
010
$ json 'c&a||~b'
000
101
$ json 'c&a||~c'
000
110
$ json 'c&~a||a'
001
100
$ json 'c&~a||b'
001
010
$ json 'c&~a||~b'
001
101
$ json 'c&~a||~c'
001
110
$ json 'c&b||a'
000
100
$ json 'c&b||~a'
000
011
$ json 'c&b||~b'
000
101
$ json 'c&b||~c'
000
110
$ json 'c&~b||a'
001
100
$ json 'c&~b||~a'
001
011
$ json 'c&~b||b'
001
010
$ json 'c&~b||~c'
001
110
$ json 'c&~c||a'
000
100
$ json 'c&~c||~a'
000
011
$ json 'c&~c||b'
000
010
$ json 'c&~c||~b'
000
101
$ json '~c&a||~a'
100
011
$ json '~c&a||b'
100
010
$ json '~c&a||~b'
100
101
$ json '~c&a||c'
100
001
$ json '~c&~a||a'
010
100
$ json '~c&~a||b'
010
010
$ json '~c&~a||~b'
010
101
$ json '~c&~a||c'
010
001
$ json '~c&b||a'
010
100
$ json '~c&b||~a'
010
011
$ json '~c&b||~b'
010
101
$ json '~c&b||c'
010
001
$ json '~c&~b||a'
100
100
$ json '~c&~b||~a'
100
011
$ json '~c&~b||b'
100
010
$ json '~c&~b||c'
100
001
$ json '~c&c||a'
000
100
$ json '~c&c||~a'
000
011
$ json '~c&c||b'
000
010
$ json '~c&c||~b'
000
101
$ json 'a|~a&b'
110
$ json 'a|~a&~b'
101
$ json 'a|~a&c'
101
$ json 'a|~a&~c'
110
$ json 'a|b&~a'
110
$ json 'a|b&~b'
100
$ json 'a|b&c'
100
$ json 'a|b&~c'
110
$ json 'a|~b&~a'
101
$ json 'a|~b&b'
100
$ json 'a|~b&c'
101
$ json 'a|~b&~c'
100
$ json 'a|c&~a'
101
$ json 'a|c&b'
100
$ json 'a|c&~b'
101
$ json 'a|c&~c'
100
$ json 'a|~c&~a'
110
$ json 'a|~c&b'
110
$ json 'a|~c&~b'
100
$ json 'a|~c&c'
100
$ json '~a|a&b'
011
$ json '~a|a&~b'
111
$ json '~a|a&c'
011
$ json '~a|a&~c'
111
$ json '~a|b&a'
011
$ json '~a|b&~b'
011
$ json '~a|b&c'
011
$ json '~a|b&~c'
011
$ json '~a|~b&a'
111
$ json '~a|~b&b'
011
$ json '~a|~b&c'
011
$ json '~a|~b&~c'
111
$ json '~a|c&a'
011
$ json '~a|c&b'
011
$ json '~a|c&~b'
011
$ json '~a|c&~c'
011
$ json '~a|~c&a'
111
$ json '~a|~c&b'
011
$ json '~a|~c&~b'
111
$ json '~a|~c&c'
011
$ json 'b|a&~a'
010
$ json 'b|a&~b'
110
$ json 'b|a&c'
010
$ json 'b|a&~c'
110
$ json 'b|~a&a'
010
$ json 'b|~a&~b'
011
$ json 'b|~a&c'
011
$ json 'b|~a&~c'
010
$ json 'b|~b&a'
110
$ json 'b|~b&~a'
011
$ json 'b|~b&c'
011
$ json 'b|~b&~c'
110
$ json 'b|c&a'
010
$ json 'b|c&~a'
011
$ json 'b|c&~b'
011
$ json 'b|c&~c'
010
$ json 'b|~c&a'
110
$ json 'b|~c&~a'
010
$ json 'b|~c&~b'
110
$ json 'b|~c&c'
010
$ json '~b|a&~a'
101
$ json '~b|a&b'
101
$ json '~b|a&c'
101
$ json '~b|a&~c'
101
$ json '~b|~a&a'
101
$ json '~b|~a&b'
111
$ json '~b|~a&c'
101
$ json '~b|~a&~c'
111
$ json '~b|b&a'
101
$ json '~b|b&~a'
111
$ json '~b|b&c'
101
$ json '~b|b&~c'
111
$ json '~b|c&a'
101
$ json '~b|c&~a'
101
$ json '~b|c&b'
101
$ json '~b|c&~c'
101
$ json '~b|~c&a'
101
$ json '~b|~c&~a'
111
$ json '~b|~c&b'
111
$ json '~b|~c&c'
101
$ json 'c|a&~a'
001
$ json 'c|a&b'
001
$ json 'c|a&~b'
101
$ json 'c|a&~c'
101
$ json 'c|~a&a'
001
$ json 'c|~a&b'
011
$ json 'c|~a&~b'
001
$ json 'c|~a&~c'
011
$ json 'c|b&a'
001
$ json 'c|b&~a'
011
$ json 'c|b&~b'
001
$ json 'c|b&~c'
011
$ json 'c|~b&a'
101
$ json 'c|~b&~a'
001
$ json 'c|~b&b'
001
$ json 'c|~b&~c'
101
$ json 'c|~c&a'
101
$ json 'c|~c&~a'
011
$ json 'c|~c&b'
011
$ json 'c|~c&~b'
101
$ json '~c|a&~a'
110
$ json '~c|a&b'
110
$ json '~c|a&~b'
110
$ json '~c|a&c'
110
$ json '~c|~a&a'
110
$ json '~c|~a&b'
110
$ json '~c|~a&~b'
111
$ json '~c|~a&c'
111
$ json '~c|b&a'
110
$ json '~c|b&~a'
110
$ json '~c|b&~b'
110
$ json '~c|b&c'
110
$ json '~c|~b&a'
110
$ json '~c|~b&~a'
111
$ json '~c|~b&b'
110
$ json '~c|~b&c'
111
$ json '~c|c&a'
110
$ json '~c|c&~a'
111
$ json '~c|c&b'
110
$ json '~c|c&~b'
111
$ json 'a|~a|b'
111
$ json 'a|~a|~b'
111
$ json 'a|~a|c'
111
$ json 'a|~a|~c'
111
$ json 'a|b|~a'
111
$ json 'a|b|~b'
111
$ json 'a|b|c'
111
$ json 'a|b|~c'
110
$ json 'a|~b|~a'
111
$ json 'a|~b|b'
111
$ json 'a|~b|c'
101
$ json 'a|~b|~c'
111
$ json 'a|c|~a'
111
$ json 'a|c|b'
111
$ json 'a|c|~b'
101
$ json 'a|c|~c'
111
$ json 'a|~c|~a'
111
$ json 'a|~c|b'
110
$ json 'a|~c|~b'
111
$ json 'a|~c|c'
111
$ json '~a|a|b'
111
$ json '~a|a|~b'
111
$ json '~a|a|c'
111
$ json '~a|a|~c'
111
$ json '~a|b|a'
111
$ json '~a|b|~b'
111
$ json '~a|b|c'
011
$ json '~a|b|~c'
111
$ json '~a|~b|a'
111
$ json '~a|~b|b'
111
$ json '~a|~b|c'
111
$ json '~a|~b|~c'
111
$ json '~a|c|a'
111
$ json '~a|c|b'
011
$ json '~a|c|~b'
111
$ json '~a|c|~c'
111
$ json '~a|~c|a'
111
$ json '~a|~c|b'
111
$ json '~a|~c|~b'
111
$ json '~a|~c|c'
111
$ json 'b|a|~a'
111
$ json 'b|a|~b'
111
$ json 'b|a|c'
111
$ json 'b|a|~c'
110
$ json 'b|~a|a'
111
$ json 'b|~a|~b'
111
$ json 'b|~a|c'
011
$ json 'b|~a|~c'
111
$ json 'b|~b|a'
111
$ json 'b|~b|~a'
111
$ json 'b|~b|c'
111
$ json 'b|~b|~c'
111
$ json 'b|c|a'
111
$ json 'b|c|~a'
011
$ json 'b|c|~b'
111
$ json 'b|c|~c'
111
$ json 'b|~c|a'
110
$ json 'b|~c|~a'
111
$ json 'b|~c|~b'
111
$ json 'b|~c|c'
111
$ json '~b|a|~a'
111
$ json '~b|a|b'
111
$ json '~b|a|c'
101
$ json '~b|a|~c'
111
$ json '~b|~a|a'
111
$ json '~b|~a|b'
111
$ json '~b|~a|c'
111
$ json '~b|~a|~c'
111
$ json '~b|b|a'
111
$ json '~b|b|~a'
111
$ json '~b|b|c'
111
$ json '~b|b|~c'
111
$ json '~b|c|a'
101
$ json '~b|c|~a'
111
$ json '~b|c|b'
111
$ json '~b|c|~c'
111
$ json '~b|~c|a'
111
$ json '~b|~c|~a'
111
$ json '~b|~c|b'
111
$ json '~b|~c|c'
111
$ json 'c|a|~a'
111
$ json 'c|a|b'
111
$ json 'c|a|~b'
101
$ json 'c|a|~c'
111
$ json 'c|~a|a'
111
$ json 'c|~a|b'
011
$ json 'c|~a|~b'
111
$ json 'c|~a|~c'
111
$ json 'c|b|a'
111
$ json 'c|b|~a'
011
$ json 'c|b|~b'
111
$ json 'c|b|~c'
111
$ json 'c|~b|a'
101
$ json 'c|~b|~a'
111
$ json 'c|~b|b'
111
$ json 'c|~b|~c'
111
$ json 'c|~c|a'
111
$ json 'c|~c|~a'
111
$ json 'c|~c|b'
111
$ json 'c|~c|~b'
111
$ json '~c|a|~a'
111
$ json '~c|a|b'
110
$ json '~c|a|~b'
111
$ json '~c|a|c'
111
$ json '~c|~a|a'
111
$ json '~c|~a|b'
111
$ json '~c|~a|~b'
111
$ json '~c|~a|c'
111
$ json '~c|b|a'
110
$ json '~c|b|~a'
111
$ json '~c|b|~b'
111
$ json '~c|b|c'
111
$ json '~c|~b|a'
111
$ json '~c|~b|~a'
111
$ json '~c|~b|b'
111
$ json '~c|~b|c'
111
$ json '~c|c|a'
111
$ json '~c|c|~a'
111
$ json '~c|c|b'
111
$ json '~c|c|~b'
111
$ json 'a|~a||b'
111
010
$ json 'a|~a||~b'
111
101
$ json 'a|~a||c'
111
001
$ json 'a|~a||~c'
111
110
$ json 'a|b||~a'
110
011
$ json 'a|b||~b'
110
101
$ json 'a|b||c'
110
001
$ json 'a|b||~c'
110
110
$ json 'a|~b||~a'
101
011
$ json 'a|~b||b'
101
010
$ json 'a|~b||c'
101
001
$ json 'a|~b||~c'
101
110
$ json 'a|c||~a'
101
011
$ json 'a|c||b'
101
010
$ json 'a|c||~b'
101
101
$ json 'a|c||~c'
101
110
$ json 'a|~c||~a'
110
011
$ json 'a|~c||b'
110
010
$ json 'a|~c||~b'
110
101
$ json 'a|~c||c'
110
001
$ json '~a|a||b'
111
010
$ json '~a|a||~b'
111
101
$ json '~a|a||c'
111
001
$ json '~a|a||~c'
111
110
$ json '~a|b||a'
011
100
$ json '~a|b||~b'
011
101
$ json '~a|b||c'
011
001
$ json '~a|b||~c'
011
110
$ json '~a|~b||a'
111
100
$ json '~a|~b||b'
111
010
$ json '~a|~b||c'
111
001
$ json '~a|~b||~c'
111
110
$ json '~a|c||a'
011
100
$ json '~a|c||b'
011
010
$ json '~a|c||~b'
011
101
$ json '~a|c||~c'
011
110
$ json '~a|~c||a'
111
100
$ json '~a|~c||b'
111
010
$ json '~a|~c||~b'
111
101
$ json '~a|~c||c'
111
001
$ json 'b|a||~a'
110
011
$ json 'b|a||~b'
110
101
$ json 'b|a||c'
110
001
$ json 'b|a||~c'
110
110
$ json 'b|~a||a'
011
100
$ json 'b|~a||~b'
011
101
$ json 'b|~a||c'
011
001
$ json 'b|~a||~c'
011
110
$ json 'b|~b||a'
111
100
$ json 'b|~b||~a'
111
011
$ json 'b|~b||c'
111
001
$ json 'b|~b||~c'
111
110
$ json 'b|c||a'
011
100
$ json 'b|c||~a'
011
011
$ json 'b|c||~b'
011
101
$ json 'b|c||~c'
011
110
$ json 'b|~c||a'
110
100
$ json 'b|~c||~a'
110
011
$ json 'b|~c||~b'
110
101
$ json 'b|~c||c'
110
001
$ json '~b|a||~a'
101
011
$ json '~b|a||b'
101
010
$ json '~b|a||c'
101
001
$ json '~b|a||~c'
101
110
$ json '~b|~a||a'
111
100
$ json '~b|~a||b'
111
010
$ json '~b|~a||c'
111
001
$ json '~b|~a||~c'
111
110
$ json '~b|b||a'
111
100
$ json '~b|b||~a'
111
011
$ json '~b|b||c'
111
001
$ json '~b|b||~c'
111
110
$ json '~b|c||a'
101
100
$ json '~b|c||~a'
101
011
$ json '~b|c||b'
101
010
$ json '~b|c||~c'
101
110
$ json '~b|~c||a'
111
100
$ json '~b|~c||~a'
111
011
$ json '~b|~c||b'
111
010
$ json '~b|~c||c'
111
001
$ json 'c|a||~a'
101
011
$ json 'c|a||b'
101
010
$ json 'c|a||~b'
101
101
$ json 'c|a||~c'
101
110
$ json 'c|~a||a'
011
100
$ json 'c|~a||b'
011
010
$ json 'c|~a||~b'
011
101
$ json 'c|~a||~c'
011
110
$ json 'c|b||a'
011
100
$ json 'c|b||~a'
011
011
$ json 'c|b||~b'
011
101
$ json 'c|b||~c'
011
110
$ json 'c|~b||a'
101
100
$ json 'c|~b||~a'
101
011
$ json 'c|~b||b'
101
010
$ json 'c|~b||~c'
101
110
$ json 'c|~c||a'
111
100
$ json 'c|~c||~a'
111
011
$ json 'c|~c||b'
111
010
$ json 'c|~c||~b'
111
101
$ json '~c|a||~a'
110
011
$ json '~c|a||b'
110
010
$ json '~c|a||~b'
110
101
$ json '~c|a||c'
110
001
$ json '~c|~a||a'
111
100
$ json '~c|~a||b'
111
010
$ json '~c|~a||~b'
111
101
$ json '~c|~a||c'
111
001
$ json '~c|b||a'
110
100
$ json '~c|b||~a'
110
011
$ json '~c|b||~b'
110
101
$ json '~c|b||c'
110
001
$ json '~c|~b||a'
111
100
$ json '~c|~b||~a'
111
011
$ json '~c|~b||b'
111
010
$ json '~c|~b||c'
111
001
$ json '~c|c||a'
111
100
$ json '~c|c||~a'
111
011
$ json '~c|c||b'
111
010
$ json '~c|c||~b'
111
101
$ json 'a||~a&b'
100
010
$ json 'a||~a&~b'
100
001
$ json 'a||~a&c'
100
001
$ json 'a||~a&~c'
100
010
$ json 'a||b&~a'
100
010
$ json 'a||b&~b'
100
000
$ json 'a||b&c'
100
000
$ json 'a||b&~c'
100
010
$ json 'a||~b&~a'
100
001
$ json 'a||~b&b'
100
000
$ json 'a||~b&c'
100
001
$ json 'a||~b&~c'
100
100
$ json 'a||c&~a'
100
001
$ json 'a||c&b'
100
000
$ json 'a||c&~b'
100
001
$ json 'a||c&~c'
100
000
$ json 'a||~c&~a'
100
010
$ json 'a||~c&b'
100
010
$ json 'a||~c&~b'
100
100
$ json 'a||~c&c'
100
000
$ json '~a||a&b'
011
000
$ json '~a||a&~b'
011
100
$ json '~a||a&c'
011
000
$ json '~a||a&~c'
011
100
$ json '~a||b&a'
011
000
$ json '~a||b&~b'
011
000
$ json '~a||b&c'
011
000
$ json '~a||b&~c'
011
010
$ json '~a||~b&a'
011
100
$ json '~a||~b&b'
011
000
$ json '~a||~b&c'
011
001
$ json '~a||~b&~c'
011
100
$ json '~a||c&a'
011
000
$ json '~a||c&b'
011
000
$ json '~a||c&~b'
011
001
$ json '~a||c&~c'
011
000
$ json '~a||~c&a'
011
100
$ json '~a||~c&b'
011
010
$ json '~a||~c&~b'
011
100
$ json '~a||~c&c'
011
000
$ json 'b||a&~a'
010
000
$ json 'b||a&~b'
010
100
$ json 'b||a&c'
010
000
$ json 'b||a&~c'
010
100
$ json 'b||~a&a'
010
000
$ json 'b||~a&~b'
010
001
$ json 'b||~a&c'
010
001
$ json 'b||~a&~c'
010
010
$ json 'b||~b&a'
010
100
$ json 'b||~b&~a'
010
001
$ json 'b||~b&c'
010
001
$ json 'b||~b&~c'
010
100
$ json 'b||c&a'
010
000
$ json 'b||c&~a'
010
001
$ json 'b||c&~b'
010
001
$ json 'b||c&~c'
010
000
$ json 'b||~c&a'
010
100
$ json 'b||~c&~a'
010
010
$ json 'b||~c&~b'
010
100
$ json 'b||~c&c'
010
000
$ json '~b||a&~a'
101
000
$ json '~b||a&b'
101
000
$ json '~b||a&c'
101
000
$ json '~b||a&~c'
101
100
$ json '~b||~a&a'
101
000
$ json '~b||~a&b'
101
010
$ json '~b||~a&c'
101
001
$ json '~b||~a&~c'
101
010
$ json '~b||b&a'
101
000
$ json '~b||b&~a'
101
010
$ json '~b||b&c'
101
000
$ json '~b||b&~c'
101
010
$ json '~b||c&a'
101
000
$ json '~b||c&~a'
101
001
$ json '~b||c&b'
101
000
$ json '~b||c&~c'
101
000
$ json '~b||~c&a'
101
100
$ json '~b||~c&~a'
101
010
$ json '~b||~c&b'
101
010
$ json '~b||~c&c'
101
000
$ json 'c||a&~a'
001
000
$ json 'c||a&b'
001
000
$ json 'c||a&~b'
001
100
$ json 'c||a&~c'
001
100
$ json 'c||~a&a'
001
000
$ json 'c||~a&b'
001
010
$ json 'c||~a&~b'
001
001
$ json 'c||~a&~c'
001
010
$ json 'c||b&a'
001
000
$ json 'c||b&~a'
001
010
$ json 'c||b&~b'
001
000
$ json 'c||b&~c'
001
010
$ json 'c||~b&a'
001
100
$ json 'c||~b&~a'
001
001
$ json 'c||~b&b'
001
000
$ json 'c||~b&~c'
001
100
$ json 'c||~c&a'
001
100
$ json 'c||~c&~a'
001
010
$ json 'c||~c&b'
001
010
$ json 'c||~c&~b'
001
100
$ json '~c||a&~a'
110
000
$ json '~c||a&b'
110
000
$ json '~c||a&~b'
110
100
$ json '~c||a&c'
110
000
$ json '~c||~a&a'
110
000
$ json '~c||~a&b'
110
010
$ json '~c||~a&~b'
110
001
$ json '~c||~a&c'
110
001
$ json '~c||b&a'
110
000
$ json '~c||b&~a'
110
010
$ json '~c||b&~b'
110
000
$ json '~c||b&c'
110
000
$ json '~c||~b&a'
110
100
$ json '~c||~b&~a'
110
001
$ json '~c||~b&b'
110
000
$ json '~c||~b&c'
110
001
$ json '~c||c&a'
110
000
$ json '~c||c&~a'
110
001
$ json '~c||c&b'
110
000
$ json '~c||c&~b'
110
001
$ json 'a||~a|b'
100
011
$ json 'a||~a|~b'
100
111
$ json 'a||~a|c'
100
011
$ json 'a||~a|~c'
100
111
$ json 'a||b|~a'
100
011
$ json 'a||b|~b'
100
111
$ json 'a||b|c'
100
011
$ json 'a||b|~c'
100
110
$ json 'a||~b|~a'
100
111
$ json 'a||~b|b'
100
111
$ json 'a||~b|c'
100
101
$ json 'a||~b|~c'
100
111
$ json 'a||c|~a'
100
011
$ json 'a||c|b'
100
011
$ json 'a||c|~b'
100
101
$ json 'a||c|~c'
100
111
$ json 'a||~c|~a'
100
111
$ json 'a||~c|b'
100
110
$ json 'a||~c|~b'
100
111
$ json 'a||~c|c'
100
111
$ json '~a||a|b'
011
110
$ json '~a||a|~b'
011
101
$ json '~a||a|c'
011
101
$ json '~a||a|~c'
011
110
$ json '~a||b|a'
011
110
$ json '~a||b|~b'
011
111
$ json '~a||b|c'
011
011
$ json '~a||b|~c'
011
110
$ json '~a||~b|a'
011
101
$ json '~a||~b|b'
011
111
$ json '~a||~b|c'
011
101
$ json '~a||~b|~c'
011
111
$ json '~a||c|a'
011
101
$ json '~a||c|b'
011
011
$ json '~a||c|~b'
011
101
$ json '~a||c|~c'
011
111
$ json '~a||~c|a'
011
110
$ json '~a||~c|b'
011
110
$ json '~a||~c|~b'
011
111
$ json '~a||~c|c'
011
111
$ json 'b||a|~a'
010
111
$ json 'b||a|~b'
010
101
$ json 'b||a|c'
010
101
$ json 'b||a|~c'
010
110
$ json 'b||~a|a'
010
111
$ json 'b||~a|~b'
010
111
$ json 'b||~a|c'
010
011
$ json 'b||~a|~c'
010
111
$ json 'b||~b|a'
010
101
$ json 'b||~b|~a'
010
111
$ json 'b||~b|c'
010
101
$ json 'b||~b|~c'
010
111
$ json 'b||c|a'
010
101
$ json 'b||c|~a'
010
011
$ json 'b||c|~b'
010
101
$ json 'b||c|~c'
010
111
$ json 'b||~c|a'
010
110
$ json 'b||~c|~a'
010
111
$ json 'b||~c|~b'
010
111
$ json 'b||~c|c'
010
111
$ json '~b||a|~a'
101
111
$ json '~b||a|b'
101
110
$ json '~b||a|c'
101
101
$ json '~b||a|~c'
101
110
$ json '~b||~a|a'
101
111
$ json '~b||~a|b'
101
011
$ json '~b||~a|c'
101
011
$ json '~b||~a|~c'
101
111
$ json '~b||b|a'
101
110
$ json '~b||b|~a'
101
011
$ json '~b||b|c'
101
011
$ json '~b||b|~c'
101
110
$ json '~b||c|a'
101
101
$ json '~b||c|~a'
101
011
$ json '~b||c|b'
101
011
$ json '~b||c|~c'
101
111
$ json '~b||~c|a'
101
110
$ json '~b||~c|~a'
101
111
$ json '~b||~c|b'
101
110
$ json '~b||~c|c'
101
111
$ json 'c||a|~a'
001
111
$ json 'c||a|b'
001
110
$ json 'c||a|~b'
001
101
$ json 'c||a|~c'
001
110
$ json 'c||~a|a'
001
111
$ json 'c||~a|b'
001
011
$ json 'c||~a|~b'
001
111
$ json 'c||~a|~c'
001
111
$ json 'c||b|a'
001
110
$ json 'c||b|~a'
001
011
$ json 'c||b|~b'
001
111
$ json 'c||b|~c'
001
110
$ json 'c||~b|a'
001
101
$ json 'c||~b|~a'
001
111
$ json 'c||~b|b'
001
111
$ json 'c||~b|~c'
001
111
$ json 'c||~c|a'
001
110
$ json 'c||~c|~a'
001
111
$ json 'c||~c|b'
001
110
$ json 'c||~c|~b'
001
111
$ json '~c||a|~a'
110
111
$ json '~c||a|b'
110
110
$ json '~c||a|~b'
110
101
$ json '~c||a|c'
110
101
$ json '~c||~a|a'
110
111
$ json '~c||~a|b'
110
011
$ json '~c||~a|~b'
110
111
$ json '~c||~a|c'
110
011
$ json '~c||b|a'
110
110
$ json '~c||b|~a'
110
011
$ json '~c||b|~b'
110
111
$ json '~c||b|c'
110
011
$ json '~c||~b|a'
110
101
$ json '~c||~b|~a'
110
111
$ json '~c||~b|b'
110
111
$ json '~c||~b|c'
110
101
$ json '~c||c|a'
110
101
$ json '~c||c|~a'
110
011
$ json '~c||c|b'
110
011
$ json '~c||c|~b'
110
101
$ json 'a||~a||b'
100
011
010
$ json 'a||~a||~b'
100
011
101
$ json 'a||~a||c'
100
011
001
$ json 'a||~a||~c'
100
011
110
$ json 'a||b||~a'
100
010
011
$ json 'a||b||~b'
100
010
101
$ json 'a||b||c'
100
010
001
$ json 'a||b||~c'
100
010
110
$ json 'a||~b||~a'
100
101
011
$ json 'a||~b||b'
100
101
010
$ json 'a||~b||c'
100
101
001
$ json 'a||~b||~c'
100
101
110
$ json 'a||c||~a'
100
001
011
$ json 'a||c||b'
100
001
010
$ json 'a||c||~b'
100
001
101
$ json 'a||c||~c'
100
001
110
$ json 'a||~c||~a'
100
110
011
$ json 'a||~c||b'
100
110
010
$ json 'a||~c||~b'
100
110
101
$ json 'a||~c||c'
100
110
001
$ json '~a||a||b'
011
100
010
$ json '~a||a||~b'
011
100
101
$ json '~a||a||c'
011
100
001
$ json '~a||a||~c'
011
100
110
$ json '~a||b||a'
011
010
100
$ json '~a||b||~b'
011
010
101
$ json '~a||b||c'
011
010
001
$ json '~a||b||~c'
011
010
110
$ json '~a||~b||a'
011
101
100
$ json '~a||~b||b'
011
101
010
$ json '~a||~b||c'
011
101
001
$ json '~a||~b||~c'
011
101
110
$ json '~a||c||a'
011
001
100
$ json '~a||c||b'
011
001
010
$ json '~a||c||~b'
011
001
101
$ json '~a||c||~c'
011
001
110
$ json '~a||~c||a'
011
110
100
$ json '~a||~c||b'
011
110
010
$ json '~a||~c||~b'
011
110
101
$ json '~a||~c||c'
011
110
001
$ json 'b||a||~a'
010
100
011
$ json 'b||a||~b'
010
100
101
$ json 'b||a||c'
010
100
001
$ json 'b||a||~c'
010
100
110
$ json 'b||~a||a'
010
011
100
$ json 'b||~a||~b'
010
011
101
$ json 'b||~a||c'
010
011
001
$ json 'b||~a||~c'
010
011
110
$ json 'b||~b||a'
010
101
100
$ json 'b||~b||~a'
010
101
011
$ json 'b||~b||c'
010
101
001
$ json 'b||~b||~c'
010
101
110
$ json 'b||c||a'
010
001
100
$ json 'b||c||~a'
010
001
011
$ json 'b||c||~b'
010
001
101
$ json 'b||c||~c'
010
001
110
$ json 'b||~c||a'
010
110
100
$ json 'b||~c||~a'
010
110
011
$ json 'b||~c||~b'
010
110
101
$ json 'b||~c||c'
010
110
001
$ json '~b||a||~a'
101
100
011
$ json '~b||a||b'
101
100
010
$ json '~b||a||c'
101
100
001
$ json '~b||a||~c'
101
100
110
$ json '~b||~a||a'
101
011
100
$ json '~b||~a||b'
101
011
010
$ json '~b||~a||c'
101
011
001
$ json '~b||~a||~c'
101
011
110
$ json '~b||b||a'
101
010
100
$ json '~b||b||~a'
101
010
011
$ json '~b||b||c'
101
010
001
$ json '~b||b||~c'
101
010
110
$ json '~b||c||a'
101
001
100
$ json '~b||c||~a'
101
001
011
$ json '~b||c||b'
101
001
010
$ json '~b||c||~c'
101
001
110
$ json '~b||~c||a'
101
110
100
$ json '~b||~c||~a'
101
110
011
$ json '~b||~c||b'
101
110
010
$ json '~b||~c||c'
101
110
001
$ json 'c||a||~a'
001
100
011
$ json 'c||a||b'
001
100
010
$ json 'c||a||~b'
001
100
101
$ json 'c||a||~c'
001
100
110
$ json 'c||~a||a'
001
011
100
$ json 'c||~a||b'
001
011
010
$ json 'c||~a||~b'
001
011
101
$ json 'c||~a||~c'
001
011
110
$ json 'c||b||a'
001
010
100
$ json 'c||b||~a'
001
010
011
$ json 'c||b||~b'
001
010
101
$ json 'c||b||~c'
001
010
110
$ json 'c||~b||a'
001
101
100
$ json 'c||~b||~a'
001
101
011
$ json 'c||~b||b'
001
101
010
$ json 'c||~b||~c'
001
101
110
$ json 'c||~c||a'
001
110
100
$ json 'c||~c||~a'
001
110
011
$ json 'c||~c||b'
001
110
010
$ json 'c||~c||~b'
001
110
101
$ json '~c||a||~a'
110
100
011
$ json '~c||a||b'
110
100
010
$ json '~c||a||~b'
110
100
101
$ json '~c||a||c'
110
100
001
$ json '~c||~a||a'
110
011
100
$ json '~c||~a||b'
110
011
010
$ json '~c||~a||~b'
110
011
101
$ json '~c||~a||c'
110
011
001
$ json '~c||b||a'
110
010
100
$ json '~c||b||~a'
110
010
011
$ json '~c||b||~b'
110
010
101
$ json '~c||b||c'
110
010
001
$ json '~c||~b||a'
110
101
100
$ json '~c||~b||~a'
110
101
011
$ json '~c||~b||b'
110
101
010
$ json '~c||~b||c'
110
101
001
$ json '~c||c||a'
110
001
100
$ json '~c||c||~a'
110
001
011
$ json '~c||c||b'
110
001
010
$ json '~c||c||~b'
110
001
101
$ 
 
--[ dict-expr-keys3 ]-----------------------------------------------------------

$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V -TA <<< '{"type":"dict","args":[{"name":"a","type":"number"},{"name":"b","type":"number"},{"name":"c","type":"number"}],"expr":'$'\n"'"$1"'"}'|LD_LIBRARY_PATH=../lib ../src/json -J --no-error|sed -nr 's|^/attr/expr/bits=||p'; }
#
# # meta command:
# $ for o1 in '&' '|' '||'; do for o2 in '&' '|' '||'; do for x in a '~a' b '~b' c '~c'; do for y in a '~a' b '~b' c '~c'; do for z in a '~a' b '~b' c '~c'; do [ "$x" == "$y" -o "$y" == "$z" -o "$z" == "$x" ] && continue; c="json '($x$o1$y)$o2$z'"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done; done; done; done; done
#
$ json '(a&~a)&b'
000
$ json '(a&~a)&~b'
000
$ json '(a&~a)&c'
000
$ json '(a&~a)&~c'
000
$ json '(a&b)&~a'
000
$ json '(a&b)&~b'
000
$ json '(a&b)&c'
000
$ json '(a&b)&~c'
000
$ json '(a&~b)&~a'
000
$ json '(a&~b)&b'
000
$ json '(a&~b)&c'
000
$ json '(a&~b)&~c'
100
$ json '(a&c)&~a'
000
$ json '(a&c)&b'
000
$ json '(a&c)&~b'
000
$ json '(a&c)&~c'
000
$ json '(a&~c)&~a'
000
$ json '(a&~c)&b'
000
$ json '(a&~c)&~b'
100
$ json '(a&~c)&c'
000
$ json '(~a&a)&b'
000
$ json '(~a&a)&~b'
000
$ json '(~a&a)&c'
000
$ json '(~a&a)&~c'
000
$ json '(~a&b)&a'
000
$ json '(~a&b)&~b'
000
$ json '(~a&b)&c'
000
$ json '(~a&b)&~c'
010
$ json '(~a&~b)&a'
000
$ json '(~a&~b)&b'
000
$ json '(~a&~b)&c'
001
$ json '(~a&~b)&~c'
000
$ json '(~a&c)&a'
000
$ json '(~a&c)&b'
000
$ json '(~a&c)&~b'
001
$ json '(~a&c)&~c'
000
$ json '(~a&~c)&a'
000
$ json '(~a&~c)&b'
010
$ json '(~a&~c)&~b'
000
$ json '(~a&~c)&c'
000
$ json '(b&a)&~a'
000
$ json '(b&a)&~b'
000
$ json '(b&a)&c'
000
$ json '(b&a)&~c'
000
$ json '(b&~a)&a'
000
$ json '(b&~a)&~b'
000
$ json '(b&~a)&c'
000
$ json '(b&~a)&~c'
010
$ json '(b&~b)&a'
000
$ json '(b&~b)&~a'
000
$ json '(b&~b)&c'
000
$ json '(b&~b)&~c'
000
$ json '(b&c)&a'
000
$ json '(b&c)&~a'
000
$ json '(b&c)&~b'
000
$ json '(b&c)&~c'
000
$ json '(b&~c)&a'
000
$ json '(b&~c)&~a'
010
$ json '(b&~c)&~b'
000
$ json '(b&~c)&c'
000
$ json '(~b&a)&~a'
000
$ json '(~b&a)&b'
000
$ json '(~b&a)&c'
000
$ json '(~b&a)&~c'
100
$ json '(~b&~a)&a'
000
$ json '(~b&~a)&b'
000
$ json '(~b&~a)&c'
001
$ json '(~b&~a)&~c'
000
$ json '(~b&b)&a'
000
$ json '(~b&b)&~a'
000
$ json '(~b&b)&c'
000
$ json '(~b&b)&~c'
000
$ json '(~b&c)&a'
000
$ json '(~b&c)&~a'
001
$ json '(~b&c)&b'
000
$ json '(~b&c)&~c'
000
$ json '(~b&~c)&a'
100
$ json '(~b&~c)&~a'
000
$ json '(~b&~c)&b'
000
$ json '(~b&~c)&c'
000
$ json '(c&a)&~a'
000
$ json '(c&a)&b'
000
$ json '(c&a)&~b'
000
$ json '(c&a)&~c'
000
$ json '(c&~a)&a'
000
$ json '(c&~a)&b'
000
$ json '(c&~a)&~b'
001
$ json '(c&~a)&~c'
000
$ json '(c&b)&a'
000
$ json '(c&b)&~a'
000
$ json '(c&b)&~b'
000
$ json '(c&b)&~c'
000
$ json '(c&~b)&a'
000
$ json '(c&~b)&~a'
001
$ json '(c&~b)&b'
000
$ json '(c&~b)&~c'
000
$ json '(c&~c)&a'
000
$ json '(c&~c)&~a'
000
$ json '(c&~c)&b'
000
$ json '(c&~c)&~b'
000
$ json '(~c&a)&~a'
000
$ json '(~c&a)&b'
000
$ json '(~c&a)&~b'
100
$ json '(~c&a)&c'
000
$ json '(~c&~a)&a'
000
$ json '(~c&~a)&b'
010
$ json '(~c&~a)&~b'
000
$ json '(~c&~a)&c'
000
$ json '(~c&b)&a'
000
$ json '(~c&b)&~a'
010
$ json '(~c&b)&~b'
000
$ json '(~c&b)&c'
000
$ json '(~c&~b)&a'
100
$ json '(~c&~b)&~a'
000
$ json '(~c&~b)&b'
000
$ json '(~c&~b)&c'
000
$ json '(~c&c)&a'
000
$ json '(~c&c)&~a'
000
$ json '(~c&c)&b'
000
$ json '(~c&c)&~b'
000
$ json '(a&~a)|b'
010
$ json '(a&~a)|~b'
101
$ json '(a&~a)|c'
001
$ json '(a&~a)|~c'
110
$ json '(a&b)|~a'
011
$ json '(a&b)|~b'
101
$ json '(a&b)|c'
001
$ json '(a&b)|~c'
110
$ json '(a&~b)|~a'
111
$ json '(a&~b)|b'
110
$ json '(a&~b)|c'
101
$ json '(a&~b)|~c'
110
$ json '(a&c)|~a'
011
$ json '(a&c)|b'
010
$ json '(a&c)|~b'
101
$ json '(a&c)|~c'
110
$ json '(a&~c)|~a'
111
$ json '(a&~c)|b'
110
$ json '(a&~c)|~b'
101
$ json '(a&~c)|c'
101
$ json '(~a&a)|b'
010
$ json '(~a&a)|~b'
101
$ json '(~a&a)|c'
001
$ json '(~a&a)|~c'
110
$ json '(~a&b)|a'
110
$ json '(~a&b)|~b'
111
$ json '(~a&b)|c'
011
$ json '(~a&b)|~c'
110
$ json '(~a&~b)|a'
101
$ json '(~a&~b)|b'
011
$ json '(~a&~b)|c'
001
$ json '(~a&~b)|~c'
111
$ json '(~a&c)|a'
101
$ json '(~a&c)|b'
011
$ json '(~a&c)|~b'
101
$ json '(~a&c)|~c'
111
$ json '(~a&~c)|a'
110
$ json '(~a&~c)|b'
010
$ json '(~a&~c)|~b'
111
$ json '(~a&~c)|c'
011
$ json '(b&a)|~a'
011
$ json '(b&a)|~b'
101
$ json '(b&a)|c'
001
$ json '(b&a)|~c'
110
$ json '(b&~a)|a'
110
$ json '(b&~a)|~b'
111
$ json '(b&~a)|c'
011
$ json '(b&~a)|~c'
110
$ json '(b&~b)|a'
100
$ json '(b&~b)|~a'
011
$ json '(b&~b)|c'
001
$ json '(b&~b)|~c'
110
$ json '(b&c)|a'
100
$ json '(b&c)|~a'
011
$ json '(b&c)|~b'
101
$ json '(b&c)|~c'
110
$ json '(b&~c)|a'
110
$ json '(b&~c)|~a'
011
$ json '(b&~c)|~b'
111
$ json '(b&~c)|c'
011
$ json '(~b&a)|~a'
111
$ json '(~b&a)|b'
110
$ json '(~b&a)|c'
101
$ json '(~b&a)|~c'
110
$ json '(~b&~a)|a'
101
$ json '(~b&~a)|b'
011
$ json '(~b&~a)|c'
001
$ json '(~b&~a)|~c'
111
$ json '(~b&b)|a'
100
$ json '(~b&b)|~a'
011
$ json '(~b&b)|c'
001
$ json '(~b&b)|~c'
110
$ json '(~b&c)|a'
101
$ json '(~b&c)|~a'
011
$ json '(~b&c)|b'
011
$ json '(~b&c)|~c'
111
$ json '(~b&~c)|a'
100
$ json '(~b&~c)|~a'
111
$ json '(~b&~c)|b'
110
$ json '(~b&~c)|c'
101
$ json '(c&a)|~a'
011
$ json '(c&a)|b'
010
$ json '(c&a)|~b'
101
$ json '(c&a)|~c'
110
$ json '(c&~a)|a'
101
$ json '(c&~a)|b'
011
$ json '(c&~a)|~b'
101
$ json '(c&~a)|~c'
111
$ json '(c&b)|a'
100
$ json '(c&b)|~a'
011
$ json '(c&b)|~b'
101
$ json '(c&b)|~c'
110
$ json '(c&~b)|a'
101
$ json '(c&~b)|~a'
011
$ json '(c&~b)|b'
011
$ json '(c&~b)|~c'
111
$ json '(c&~c)|a'
100
$ json '(c&~c)|~a'
011
$ json '(c&~c)|b'
010
$ json '(c&~c)|~b'
101
$ json '(~c&a)|~a'
111
$ json '(~c&a)|b'
110
$ json '(~c&a)|~b'
101
$ json '(~c&a)|c'
101
$ json '(~c&~a)|a'
110
$ json '(~c&~a)|b'
010
$ json '(~c&~a)|~b'
111
$ json '(~c&~a)|c'
011
$ json '(~c&b)|a'
110
$ json '(~c&b)|~a'
011
$ json '(~c&b)|~b'
111
$ json '(~c&b)|c'
011
$ json '(~c&~b)|a'
100
$ json '(~c&~b)|~a'
111
$ json '(~c&~b)|b'
110
$ json '(~c&~b)|c'
101
$ json '(~c&c)|a'
100
$ json '(~c&c)|~a'
011
$ json '(~c&c)|b'
010
$ json '(~c&c)|~b'
101
$ json '(a&~a)||b'
000
010
$ json '(a&~a)||~b'
000
101
$ json '(a&~a)||c'
000
001
$ json '(a&~a)||~c'
000
110
$ json '(a&b)||~a'
000
011
$ json '(a&b)||~b'
000
101
$ json '(a&b)||c'
000
001
$ json '(a&b)||~c'
000
110
$ json '(a&~b)||~a'
100
011
$ json '(a&~b)||b'
100
010
$ json '(a&~b)||c'
100
001
$ json '(a&~b)||~c'
100
110
$ json '(a&c)||~a'
000
011
$ json '(a&c)||b'
000
010
$ json '(a&c)||~b'
000
101
$ json '(a&c)||~c'
000
110
$ json '(a&~c)||~a'
100
011
$ json '(a&~c)||b'
100
010
$ json '(a&~c)||~b'
100
101
$ json '(a&~c)||c'
100
001
$ json '(~a&a)||b'
000
010
$ json '(~a&a)||~b'
000
101
$ json '(~a&a)||c'
000
001
$ json '(~a&a)||~c'
000
110
$ json '(~a&b)||a'
010
100
$ json '(~a&b)||~b'
010
101
$ json '(~a&b)||c'
010
001
$ json '(~a&b)||~c'
010
110
$ json '(~a&~b)||a'
001
100
$ json '(~a&~b)||b'
001
010
$ json '(~a&~b)||c'
001
001
$ json '(~a&~b)||~c'
001
110
$ json '(~a&c)||a'
001
100
$ json '(~a&c)||b'
001
010
$ json '(~a&c)||~b'
001
101
$ json '(~a&c)||~c'
001
110
$ json '(~a&~c)||a'
010
100
$ json '(~a&~c)||b'
010
010
$ json '(~a&~c)||~b'
010
101
$ json '(~a&~c)||c'
010
001
$ json '(b&a)||~a'
000
011
$ json '(b&a)||~b'
000
101
$ json '(b&a)||c'
000
001
$ json '(b&a)||~c'
000
110
$ json '(b&~a)||a'
010
100
$ json '(b&~a)||~b'
010
101
$ json '(b&~a)||c'
010
001
$ json '(b&~a)||~c'
010
110
$ json '(b&~b)||a'
000
100
$ json '(b&~b)||~a'
000
011
$ json '(b&~b)||c'
000
001
$ json '(b&~b)||~c'
000
110
$ json '(b&c)||a'
000
100
$ json '(b&c)||~a'
000
011
$ json '(b&c)||~b'
000
101
$ json '(b&c)||~c'
000
110
$ json '(b&~c)||a'
010
100
$ json '(b&~c)||~a'
010
011
$ json '(b&~c)||~b'
010
101
$ json '(b&~c)||c'
010
001
$ json '(~b&a)||~a'
100
011
$ json '(~b&a)||b'
100
010
$ json '(~b&a)||c'
100
001
$ json '(~b&a)||~c'
100
110
$ json '(~b&~a)||a'
001
100
$ json '(~b&~a)||b'
001
010
$ json '(~b&~a)||c'
001
001
$ json '(~b&~a)||~c'
001
110
$ json '(~b&b)||a'
000
100
$ json '(~b&b)||~a'
000
011
$ json '(~b&b)||c'
000
001
$ json '(~b&b)||~c'
000
110
$ json '(~b&c)||a'
001
100
$ json '(~b&c)||~a'
001
011
$ json '(~b&c)||b'
001
010
$ json '(~b&c)||~c'
001
110
$ json '(~b&~c)||a'
100
100
$ json '(~b&~c)||~a'
100
011
$ json '(~b&~c)||b'
100
010
$ json '(~b&~c)||c'
100
001
$ json '(c&a)||~a'
000
011
$ json '(c&a)||b'
000
010
$ json '(c&a)||~b'
000
101
$ json '(c&a)||~c'
000
110
$ json '(c&~a)||a'
001
100
$ json '(c&~a)||b'
001
010
$ json '(c&~a)||~b'
001
101
$ json '(c&~a)||~c'
001
110
$ json '(c&b)||a'
000
100
$ json '(c&b)||~a'
000
011
$ json '(c&b)||~b'
000
101
$ json '(c&b)||~c'
000
110
$ json '(c&~b)||a'
001
100
$ json '(c&~b)||~a'
001
011
$ json '(c&~b)||b'
001
010
$ json '(c&~b)||~c'
001
110
$ json '(c&~c)||a'
000
100
$ json '(c&~c)||~a'
000
011
$ json '(c&~c)||b'
000
010
$ json '(c&~c)||~b'
000
101
$ json '(~c&a)||~a'
100
011
$ json '(~c&a)||b'
100
010
$ json '(~c&a)||~b'
100
101
$ json '(~c&a)||c'
100
001
$ json '(~c&~a)||a'
010
100
$ json '(~c&~a)||b'
010
010
$ json '(~c&~a)||~b'
010
101
$ json '(~c&~a)||c'
010
001
$ json '(~c&b)||a'
010
100
$ json '(~c&b)||~a'
010
011
$ json '(~c&b)||~b'
010
101
$ json '(~c&b)||c'
010
001
$ json '(~c&~b)||a'
100
100
$ json '(~c&~b)||~a'
100
011
$ json '(~c&~b)||b'
100
010
$ json '(~c&~b)||c'
100
001
$ json '(~c&c)||a'
000
100
$ json '(~c&c)||~a'
000
011
$ json '(~c&c)||b'
000
010
$ json '(~c&c)||~b'
000
101
$ json '(a|~a)&b'
010
$ json '(a|~a)&~b'
101
$ json '(a|~a)&c'
001
$ json '(a|~a)&~c'
110
$ json '(a|b)&~a'
010
$ json '(a|b)&~b'
100
$ json '(a|b)&c'
000
$ json '(a|b)&~c'
110
$ json '(a|~b)&~a'
001
$ json '(a|~b)&b'
000
$ json '(a|~b)&c'
001
$ json '(a|~b)&~c'
100
$ json '(a|c)&~a'
001
$ json '(a|c)&b'
000
$ json '(a|c)&~b'
101
$ json '(a|c)&~c'
100
$ json '(a|~c)&~a'
010
$ json '(a|~c)&b'
010
$ json '(a|~c)&~b'
100
$ json '(a|~c)&c'
000
$ json '(~a|a)&b'
010
$ json '(~a|a)&~b'
101
$ json '(~a|a)&c'
001
$ json '(~a|a)&~c'
110
$ json '(~a|b)&a'
000
$ json '(~a|b)&~b'
001
$ json '(~a|b)&c'
001
$ json '(~a|b)&~c'
010
$ json '(~a|~b)&a'
100
$ json '(~a|~b)&b'
010
$ json '(~a|~b)&c'
001
$ json '(~a|~b)&~c'
110
$ json '(~a|c)&a'
000
$ json '(~a|c)&b'
010
$ json '(~a|c)&~b'
001
$ json '(~a|c)&~c'
010
$ json '(~a|~c)&a'
100
$ json '(~a|~c)&b'
010
$ json '(~a|~c)&~b'
101
$ json '(~a|~c)&c'
001
$ json '(b|a)&~a'
010
$ json '(b|a)&~b'
100
$ json '(b|a)&c'
000
$ json '(b|a)&~c'
110
$ json '(b|~a)&a'
000
$ json '(b|~a)&~b'
001
$ json '(b|~a)&c'
001
$ json '(b|~a)&~c'
010
$ json '(b|~b)&a'
100
$ json '(b|~b)&~a'
011
$ json '(b|~b)&c'
001
$ json '(b|~b)&~c'
110
$ json '(b|c)&a'
000
$ json '(b|c)&~a'
011
$ json '(b|c)&~b'
001
$ json '(b|c)&~c'
010
$ json '(b|~c)&a'
100
$ json '(b|~c)&~a'
010
$ json '(b|~c)&~b'
100
$ json '(b|~c)&c'
000
$ json '(~b|a)&~a'
001
$ json '(~b|a)&b'
000
$ json '(~b|a)&c'
001
$ json '(~b|a)&~c'
100
$ json '(~b|~a)&a'
100
$ json '(~b|~a)&b'
010
$ json '(~b|~a)&c'
001
$ json '(~b|~a)&~c'
110
$ json '(~b|b)&a'
100
$ json '(~b|b)&~a'
011
$ json '(~b|b)&c'
001
$ json '(~b|b)&~c'
110
$ json '(~b|c)&a'
100
$ json '(~b|c)&~a'
001
$ json '(~b|c)&b'
000
$ json '(~b|c)&~c'
100
$ json '(~b|~c)&a'
100
$ json '(~b|~c)&~a'
011
$ json '(~b|~c)&b'
010
$ json '(~b|~c)&c'
001
$ json '(c|a)&~a'
001
$ json '(c|a)&b'
000
$ json '(c|a)&~b'
101
$ json '(c|a)&~c'
100
$ json '(c|~a)&a'
000
$ json '(c|~a)&b'
010
$ json '(c|~a)&~b'
001
$ json '(c|~a)&~c'
010
$ json '(c|b)&a'
000
$ json '(c|b)&~a'
011
$ json '(c|b)&~b'
001
$ json '(c|b)&~c'
010
$ json '(c|~b)&a'
100
$ json '(c|~b)&~a'
001
$ json '(c|~b)&b'
000
$ json '(c|~b)&~c'
100
$ json '(c|~c)&a'
100
$ json '(c|~c)&~a'
011
$ json '(c|~c)&b'
010
$ json '(c|~c)&~b'
101
$ json '(~c|a)&~a'
010
$ json '(~c|a)&b'
010
$ json '(~c|a)&~b'
100
$ json '(~c|a)&c'
000
$ json '(~c|~a)&a'
100
$ json '(~c|~a)&b'
010
$ json '(~c|~a)&~b'
101
$ json '(~c|~a)&c'
001
$ json '(~c|b)&a'
100
$ json '(~c|b)&~a'
010
$ json '(~c|b)&~b'
100
$ json '(~c|b)&c'
000
$ json '(~c|~b)&a'
100
$ json '(~c|~b)&~a'
011
$ json '(~c|~b)&b'
010
$ json '(~c|~b)&c'
001
$ json '(~c|c)&a'
100
$ json '(~c|c)&~a'
011
$ json '(~c|c)&b'
010
$ json '(~c|c)&~b'
101
$ json '(a|~a)|b'
111
$ json '(a|~a)|~b'
111
$ json '(a|~a)|c'
111
$ json '(a|~a)|~c'
111
$ json '(a|b)|~a'
111
$ json '(a|b)|~b'
111
$ json '(a|b)|c'
111
$ json '(a|b)|~c'
110
$ json '(a|~b)|~a'
111
$ json '(a|~b)|b'
111
$ json '(a|~b)|c'
101
$ json '(a|~b)|~c'
111
$ json '(a|c)|~a'
111
$ json '(a|c)|b'
111
$ json '(a|c)|~b'
101
$ json '(a|c)|~c'
111
$ json '(a|~c)|~a'
111
$ json '(a|~c)|b'
110
$ json '(a|~c)|~b'
111
$ json '(a|~c)|c'
111
$ json '(~a|a)|b'
111
$ json '(~a|a)|~b'
111
$ json '(~a|a)|c'
111
$ json '(~a|a)|~c'
111
$ json '(~a|b)|a'
111
$ json '(~a|b)|~b'
111
$ json '(~a|b)|c'
011
$ json '(~a|b)|~c'
111
$ json '(~a|~b)|a'
111
$ json '(~a|~b)|b'
111
$ json '(~a|~b)|c'
111
$ json '(~a|~b)|~c'
111
$ json '(~a|c)|a'
111
$ json '(~a|c)|b'
011
$ json '(~a|c)|~b'
111
$ json '(~a|c)|~c'
111
$ json '(~a|~c)|a'
111
$ json '(~a|~c)|b'
111
$ json '(~a|~c)|~b'
111
$ json '(~a|~c)|c'
111
$ json '(b|a)|~a'
111
$ json '(b|a)|~b'
111
$ json '(b|a)|c'
111
$ json '(b|a)|~c'
110
$ json '(b|~a)|a'
111
$ json '(b|~a)|~b'
111
$ json '(b|~a)|c'
011
$ json '(b|~a)|~c'
111
$ json '(b|~b)|a'
111
$ json '(b|~b)|~a'
111
$ json '(b|~b)|c'
111
$ json '(b|~b)|~c'
111
$ json '(b|c)|a'
111
$ json '(b|c)|~a'
011
$ json '(b|c)|~b'
111
$ json '(b|c)|~c'
111
$ json '(b|~c)|a'
110
$ json '(b|~c)|~a'
111
$ json '(b|~c)|~b'
111
$ json '(b|~c)|c'
111
$ json '(~b|a)|~a'
111
$ json '(~b|a)|b'
111
$ json '(~b|a)|c'
101
$ json '(~b|a)|~c'
111
$ json '(~b|~a)|a'
111
$ json '(~b|~a)|b'
111
$ json '(~b|~a)|c'
111
$ json '(~b|~a)|~c'
111
$ json '(~b|b)|a'
111
$ json '(~b|b)|~a'
111
$ json '(~b|b)|c'
111
$ json '(~b|b)|~c'
111
$ json '(~b|c)|a'
101
$ json '(~b|c)|~a'
111
$ json '(~b|c)|b'
111
$ json '(~b|c)|~c'
111
$ json '(~b|~c)|a'
111
$ json '(~b|~c)|~a'
111
$ json '(~b|~c)|b'
111
$ json '(~b|~c)|c'
111
$ json '(c|a)|~a'
111
$ json '(c|a)|b'
111
$ json '(c|a)|~b'
101
$ json '(c|a)|~c'
111
$ json '(c|~a)|a'
111
$ json '(c|~a)|b'
011
$ json '(c|~a)|~b'
111
$ json '(c|~a)|~c'
111
$ json '(c|b)|a'
111
$ json '(c|b)|~a'
011
$ json '(c|b)|~b'
111
$ json '(c|b)|~c'
111
$ json '(c|~b)|a'
101
$ json '(c|~b)|~a'
111
$ json '(c|~b)|b'
111
$ json '(c|~b)|~c'
111
$ json '(c|~c)|a'
111
$ json '(c|~c)|~a'
111
$ json '(c|~c)|b'
111
$ json '(c|~c)|~b'
111
$ json '(~c|a)|~a'
111
$ json '(~c|a)|b'
110
$ json '(~c|a)|~b'
111
$ json '(~c|a)|c'
111
$ json '(~c|~a)|a'
111
$ json '(~c|~a)|b'
111
$ json '(~c|~a)|~b'
111
$ json '(~c|~a)|c'
111
$ json '(~c|b)|a'
110
$ json '(~c|b)|~a'
111
$ json '(~c|b)|~b'
111
$ json '(~c|b)|c'
111
$ json '(~c|~b)|a'
111
$ json '(~c|~b)|~a'
111
$ json '(~c|~b)|b'
111
$ json '(~c|~b)|c'
111
$ json '(~c|c)|a'
111
$ json '(~c|c)|~a'
111
$ json '(~c|c)|b'
111
$ json '(~c|c)|~b'
111
$ json '(a|~a)||b'
111
010
$ json '(a|~a)||~b'
111
101
$ json '(a|~a)||c'
111
001
$ json '(a|~a)||~c'
111
110
$ json '(a|b)||~a'
110
011
$ json '(a|b)||~b'
110
101
$ json '(a|b)||c'
110
001
$ json '(a|b)||~c'
110
110
$ json '(a|~b)||~a'
101
011
$ json '(a|~b)||b'
101
010
$ json '(a|~b)||c'
101
001
$ json '(a|~b)||~c'
101
110
$ json '(a|c)||~a'
101
011
$ json '(a|c)||b'
101
010
$ json '(a|c)||~b'
101
101
$ json '(a|c)||~c'
101
110
$ json '(a|~c)||~a'
110
011
$ json '(a|~c)||b'
110
010
$ json '(a|~c)||~b'
110
101
$ json '(a|~c)||c'
110
001
$ json '(~a|a)||b'
111
010
$ json '(~a|a)||~b'
111
101
$ json '(~a|a)||c'
111
001
$ json '(~a|a)||~c'
111
110
$ json '(~a|b)||a'
011
100
$ json '(~a|b)||~b'
011
101
$ json '(~a|b)||c'
011
001
$ json '(~a|b)||~c'
011
110
$ json '(~a|~b)||a'
111
100
$ json '(~a|~b)||b'
111
010
$ json '(~a|~b)||c'
111
001
$ json '(~a|~b)||~c'
111
110
$ json '(~a|c)||a'
011
100
$ json '(~a|c)||b'
011
010
$ json '(~a|c)||~b'
011
101
$ json '(~a|c)||~c'
011
110
$ json '(~a|~c)||a'
111
100
$ json '(~a|~c)||b'
111
010
$ json '(~a|~c)||~b'
111
101
$ json '(~a|~c)||c'
111
001
$ json '(b|a)||~a'
110
011
$ json '(b|a)||~b'
110
101
$ json '(b|a)||c'
110
001
$ json '(b|a)||~c'
110
110
$ json '(b|~a)||a'
011
100
$ json '(b|~a)||~b'
011
101
$ json '(b|~a)||c'
011
001
$ json '(b|~a)||~c'
011
110
$ json '(b|~b)||a'
111
100
$ json '(b|~b)||~a'
111
011
$ json '(b|~b)||c'
111
001
$ json '(b|~b)||~c'
111
110
$ json '(b|c)||a'
011
100
$ json '(b|c)||~a'
011
011
$ json '(b|c)||~b'
011
101
$ json '(b|c)||~c'
011
110
$ json '(b|~c)||a'
110
100
$ json '(b|~c)||~a'
110
011
$ json '(b|~c)||~b'
110
101
$ json '(b|~c)||c'
110
001
$ json '(~b|a)||~a'
101
011
$ json '(~b|a)||b'
101
010
$ json '(~b|a)||c'
101
001
$ json '(~b|a)||~c'
101
110
$ json '(~b|~a)||a'
111
100
$ json '(~b|~a)||b'
111
010
$ json '(~b|~a)||c'
111
001
$ json '(~b|~a)||~c'
111
110
$ json '(~b|b)||a'
111
100
$ json '(~b|b)||~a'
111
011
$ json '(~b|b)||c'
111
001
$ json '(~b|b)||~c'
111
110
$ json '(~b|c)||a'
101
100
$ json '(~b|c)||~a'
101
011
$ json '(~b|c)||b'
101
010
$ json '(~b|c)||~c'
101
110
$ json '(~b|~c)||a'
111
100
$ json '(~b|~c)||~a'
111
011
$ json '(~b|~c)||b'
111
010
$ json '(~b|~c)||c'
111
001
$ json '(c|a)||~a'
101
011
$ json '(c|a)||b'
101
010
$ json '(c|a)||~b'
101
101
$ json '(c|a)||~c'
101
110
$ json '(c|~a)||a'
011
100
$ json '(c|~a)||b'
011
010
$ json '(c|~a)||~b'
011
101
$ json '(c|~a)||~c'
011
110
$ json '(c|b)||a'
011
100
$ json '(c|b)||~a'
011
011
$ json '(c|b)||~b'
011
101
$ json '(c|b)||~c'
011
110
$ json '(c|~b)||a'
101
100
$ json '(c|~b)||~a'
101
011
$ json '(c|~b)||b'
101
010
$ json '(c|~b)||~c'
101
110
$ json '(c|~c)||a'
111
100
$ json '(c|~c)||~a'
111
011
$ json '(c|~c)||b'
111
010
$ json '(c|~c)||~b'
111
101
$ json '(~c|a)||~a'
110
011
$ json '(~c|a)||b'
110
010
$ json '(~c|a)||~b'
110
101
$ json '(~c|a)||c'
110
001
$ json '(~c|~a)||a'
111
100
$ json '(~c|~a)||b'
111
010
$ json '(~c|~a)||~b'
111
101
$ json '(~c|~a)||c'
111
001
$ json '(~c|b)||a'
110
100
$ json '(~c|b)||~a'
110
011
$ json '(~c|b)||~b'
110
101
$ json '(~c|b)||c'
110
001
$ json '(~c|~b)||a'
111
100
$ json '(~c|~b)||~a'
111
011
$ json '(~c|~b)||b'
111
010
$ json '(~c|~b)||c'
111
001
$ json '(~c|c)||a'
111
100
$ json '(~c|c)||~a'
111
011
$ json '(~c|c)||b'
111
010
$ json '(~c|c)||~b'
111
101
$ json '(a||~a)&b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)&b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)&b'
$ json '(a||~a)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)&~b'
$ json '(a||~a)&c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)&c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)&c'
$ json '(a||~a)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)&~c'
$ json '(a||b)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)&~a'
$ json '(a||b)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)&~b'
$ json '(a||b)&c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)&c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)&c'
$ json '(a||b)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)&~c'
$ json '(a||~b)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)&~a'
$ json '(a||~b)&b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)&b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)&b'
$ json '(a||~b)&c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)&c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)&c'
$ json '(a||~b)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)&~c'
$ json '(a||c)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)&~a'
$ json '(a||c)&b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)&b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)&b'
$ json '(a||c)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)&~b'
$ json '(a||c)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)&~c'
$ json '(a||~c)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)&~a'
$ json '(a||~c)&b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)&b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)&b'
$ json '(a||~c)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)&~b'
$ json '(a||~c)&c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)&c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)&c'
$ json '(~a||a)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)&b'
$ json '(~a||a)&~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)&~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)&~b'
$ json '(~a||a)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)&c'
$ json '(~a||a)&~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)&~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)&~c'
$ json '(~a||b)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)&a'
$ json '(~a||b)&~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)&~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)&~b'
$ json '(~a||b)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)&c'
$ json '(~a||b)&~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)&~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)&~c'
$ json '(~a||~b)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)&a'
$ json '(~a||~b)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)&b'
$ json '(~a||~b)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)&c'
$ json '(~a||~b)&~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)&~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)&~c'
$ json '(~a||c)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)&a'
$ json '(~a||c)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)&b'
$ json '(~a||c)&~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)&~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)&~b'
$ json '(~a||c)&~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)&~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)&~c'
$ json '(~a||~c)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)&a'
$ json '(~a||~c)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)&b'
$ json '(~a||~c)&~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)&~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)&~b'
$ json '(~a||~c)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)&c'
$ json '(b||a)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)&~a'
$ json '(b||a)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)&~b'
$ json '(b||a)&c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)&c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)&c'
$ json '(b||a)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)&~c'
$ json '(b||~a)&a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)&a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)&a'
$ json '(b||~a)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)&~b'
$ json '(b||~a)&c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)&c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)&c'
$ json '(b||~a)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)&~c'
$ json '(b||~b)&a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)&a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)&a'
$ json '(b||~b)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)&~a'
$ json '(b||~b)&c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)&c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)&c'
$ json '(b||~b)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)&~c'
$ json '(b||c)&a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)&a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)&a'
$ json '(b||c)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)&~a'
$ json '(b||c)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)&~b'
$ json '(b||c)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)&~c'
$ json '(b||~c)&a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)&a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)&a'
$ json '(b||~c)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)&~a'
$ json '(b||~c)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)&~b'
$ json '(b||~c)&c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)&c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)&c'
$ json '(~b||a)&~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)&~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)&~a'
$ json '(~b||a)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)&b'
$ json '(~b||a)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)&c'
$ json '(~b||a)&~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)&~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)&~c'
$ json '(~b||~a)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)&a'
$ json '(~b||~a)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)&b'
$ json '(~b||~a)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)&c'
$ json '(~b||~a)&~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)&~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)&~c'
$ json '(~b||b)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)&a'
$ json '(~b||b)&~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)&~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)&~a'
$ json '(~b||b)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)&c'
$ json '(~b||b)&~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)&~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)&~c'
$ json '(~b||c)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)&a'
$ json '(~b||c)&~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)&~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)&~a'
$ json '(~b||c)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)&b'
$ json '(~b||c)&~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)&~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)&~c'
$ json '(~b||~c)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)&a'
$ json '(~b||~c)&~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)&~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)&~a'
$ json '(~b||~c)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)&b'
$ json '(~b||~c)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)&c'
$ json '(c||a)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)&~a'
$ json '(c||a)&b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)&b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)&b'
$ json '(c||a)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)&~b'
$ json '(c||a)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)&~c'
$ json '(c||~a)&a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)&a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)&a'
$ json '(c||~a)&b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)&b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)&b'
$ json '(c||~a)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)&~b'
$ json '(c||~a)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)&~c'
$ json '(c||b)&a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)&a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)&a'
$ json '(c||b)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)&~a'
$ json '(c||b)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)&~b'
$ json '(c||b)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)&~c'
$ json '(c||~b)&a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)&a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)&a'
$ json '(c||~b)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)&~a'
$ json '(c||~b)&b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)&b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)&b'
$ json '(c||~b)&~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)&~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)&~c'
$ json '(c||~c)&a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)&a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)&a'
$ json '(c||~c)&~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)&~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)&~a'
$ json '(c||~c)&b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)&b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)&b'
$ json '(c||~c)&~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)&~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)&~b'
$ json '(~c||a)&~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)&~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)&~a'
$ json '(~c||a)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)&b'
$ json '(~c||a)&~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)&~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)&~b'
$ json '(~c||a)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)&c'
$ json '(~c||~a)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)&a'
$ json '(~c||~a)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)&b'
$ json '(~c||~a)&~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)&~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)&~b'
$ json '(~c||~a)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)&c'
$ json '(~c||b)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)&a'
$ json '(~c||b)&~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)&~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)&~a'
$ json '(~c||b)&~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)&~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)&~b'
$ json '(~c||b)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)&c'
$ json '(~c||~b)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)&a'
$ json '(~c||~b)&~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)&~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)&~a'
$ json '(~c||~b)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)&b'
$ json '(~c||~b)&c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)&c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)&c'
$ json '(~c||c)&a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)&a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)&a'
$ json '(~c||c)&~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)&~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)&~a'
$ json '(~c||c)&b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)&b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)&b'
$ json '(~c||c)&~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)&~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)&~b'
$ json '(a||~a)|b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)|b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)|b'
$ json '(a||~a)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)|~b'
$ json '(a||~a)|c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)|c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)|c'
$ json '(a||~a)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)|~c'
$ json '(a||b)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)|~a'
$ json '(a||b)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)|~b'
$ json '(a||b)|c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)|c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)|c'
$ json '(a||b)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)|~c'
$ json '(a||~b)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)|~a'
$ json '(a||~b)|b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)|b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)|b'
$ json '(a||~b)|c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)|c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)|c'
$ json '(a||~b)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)|~c'
$ json '(a||c)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)|~a'
$ json '(a||c)|b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)|b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)|b'
$ json '(a||c)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)|~b'
$ json '(a||c)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)|~c'
$ json '(a||~c)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)|~a'
$ json '(a||~c)|b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)|b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)|b'
$ json '(a||~c)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)|~b'
$ json '(a||~c)|c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)|c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)|c'
$ json '(~a||a)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)|b'
$ json '(~a||a)|~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)|~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)|~b'
$ json '(~a||a)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)|c'
$ json '(~a||a)|~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)|~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)|~c'
$ json '(~a||b)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)|a'
$ json '(~a||b)|~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)|~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)|~b'
$ json '(~a||b)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)|c'
$ json '(~a||b)|~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)|~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)|~c'
$ json '(~a||~b)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)|a'
$ json '(~a||~b)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)|b'
$ json '(~a||~b)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)|c'
$ json '(~a||~b)|~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)|~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)|~c'
$ json '(~a||c)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)|a'
$ json '(~a||c)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)|b'
$ json '(~a||c)|~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)|~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)|~b'
$ json '(~a||c)|~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)|~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)|~c'
$ json '(~a||~c)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)|a'
$ json '(~a||~c)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)|b'
$ json '(~a||~c)|~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)|~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)|~b'
$ json '(~a||~c)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)|c'
$ json '(b||a)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)|~a'
$ json '(b||a)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)|~b'
$ json '(b||a)|c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)|c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)|c'
$ json '(b||a)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)|~c'
$ json '(b||~a)|a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)|a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)|a'
$ json '(b||~a)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)|~b'
$ json '(b||~a)|c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)|c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)|c'
$ json '(b||~a)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)|~c'
$ json '(b||~b)|a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)|a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)|a'
$ json '(b||~b)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)|~a'
$ json '(b||~b)|c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)|c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)|c'
$ json '(b||~b)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)|~c'
$ json '(b||c)|a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)|a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)|a'
$ json '(b||c)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)|~a'
$ json '(b||c)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)|~b'
$ json '(b||c)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)|~c'
$ json '(b||~c)|a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)|a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)|a'
$ json '(b||~c)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)|~a'
$ json '(b||~c)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)|~b'
$ json '(b||~c)|c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)|c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)|c'
$ json '(~b||a)|~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)|~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)|~a'
$ json '(~b||a)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)|b'
$ json '(~b||a)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)|c'
$ json '(~b||a)|~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)|~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)|~c'
$ json '(~b||~a)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)|a'
$ json '(~b||~a)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)|b'
$ json '(~b||~a)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)|c'
$ json '(~b||~a)|~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)|~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)|~c'
$ json '(~b||b)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)|a'
$ json '(~b||b)|~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)|~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)|~a'
$ json '(~b||b)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)|c'
$ json '(~b||b)|~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)|~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)|~c'
$ json '(~b||c)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)|a'
$ json '(~b||c)|~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)|~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)|~a'
$ json '(~b||c)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)|b'
$ json '(~b||c)|~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)|~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)|~c'
$ json '(~b||~c)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)|a'
$ json '(~b||~c)|~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)|~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)|~a'
$ json '(~b||~c)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)|b'
$ json '(~b||~c)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)|c'
$ json '(c||a)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)|~a'
$ json '(c||a)|b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)|b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)|b'
$ json '(c||a)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)|~b'
$ json '(c||a)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)|~c'
$ json '(c||~a)|a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)|a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)|a'
$ json '(c||~a)|b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)|b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)|b'
$ json '(c||~a)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)|~b'
$ json '(c||~a)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)|~c'
$ json '(c||b)|a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)|a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)|a'
$ json '(c||b)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)|~a'
$ json '(c||b)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)|~b'
$ json '(c||b)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)|~c'
$ json '(c||~b)|a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)|a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)|a'
$ json '(c||~b)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)|~a'
$ json '(c||~b)|b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)|b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)|b'
$ json '(c||~b)|~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)|~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)|~c'
$ json '(c||~c)|a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)|a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)|a'
$ json '(c||~c)|~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)|~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)|~a'
$ json '(c||~c)|b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)|b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)|b'
$ json '(c||~c)|~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)|~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)|~b'
$ json '(~c||a)|~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)|~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)|~a'
$ json '(~c||a)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)|b'
$ json '(~c||a)|~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)|~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)|~b'
$ json '(~c||a)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)|c'
$ json '(~c||~a)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)|a'
$ json '(~c||~a)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)|b'
$ json '(~c||~a)|~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)|~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)|~b'
$ json '(~c||~a)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)|c'
$ json '(~c||b)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)|a'
$ json '(~c||b)|~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)|~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)|~a'
$ json '(~c||b)|~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)|~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)|~b'
$ json '(~c||b)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)|c'
$ json '(~c||~b)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)|a'
$ json '(~c||~b)|~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)|~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)|~a'
$ json '(~c||~b)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)|b'
$ json '(~c||~b)|c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)|c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)|c'
$ json '(~c||c)|a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)|a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)|a'
$ json '(~c||c)|~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)|~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)|~a'
$ json '(~c||c)|b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)|b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)|b'
$ json '(~c||c)|~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)|~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)|~b'
$ json '(a||~a)||b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)||b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)||b'
$ json '(a||~a)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)||~b'
$ json '(a||~a)||c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)||c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)||c'
$ json '(a||~a)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~a)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~a)||~c'
$ json '(a||b)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)||~a'
$ json '(a||b)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)||~b'
$ json '(a||b)||c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)||c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)||c'
$ json '(a||b)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||b)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||b)||~c'
$ json '(a||~b)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)||~a'
$ json '(a||~b)||b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)||b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)||b'
$ json '(a||~b)||c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)||c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)||c'
$ json '(a||~b)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~b)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~b)||~c'
$ json '(a||c)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)||~a'
$ json '(a||c)||b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)||b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)||b'
$ json '(a||c)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)||~b'
$ json '(a||c)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||c)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||c)||~c'
$ json '(a||~c)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)||~a'
$ json '(a||~c)||b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)||b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)||b'
$ json '(a||~c)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)||~b'
$ json '(a||~c)||c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(a||~c)||c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(a||~c)||c'
$ json '(~a||a)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)||b'
$ json '(~a||a)||~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)||~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)||~b'
$ json '(~a||a)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)||c'
$ json '(~a||a)||~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||a)||~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||a)||~c'
$ json '(~a||b)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)||a'
$ json '(~a||b)||~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)||~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)||~b'
$ json '(~a||b)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)||c'
$ json '(~a||b)||~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||b)||~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||b)||~c'
$ json '(~a||~b)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)||a'
$ json '(~a||~b)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)||b'
$ json '(~a||~b)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)||c'
$ json '(~a||~b)||~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~b)||~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~b)||~c'
$ json '(~a||c)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)||a'
$ json '(~a||c)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)||b'
$ json '(~a||c)||~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)||~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)||~b'
$ json '(~a||c)||~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||c)||~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||c)||~c'
$ json '(~a||~c)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)||a'
$ json '(~a||~c)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)||b'
$ json '(~a||~c)||~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)||~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)||~b'
$ json '(~a||~c)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~a||~c)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~a||~c)||c'
$ json '(b||a)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)||~a'
$ json '(b||a)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)||~b'
$ json '(b||a)||c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)||c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)||c'
$ json '(b||a)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||a)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||a)||~c'
$ json '(b||~a)||a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)||a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)||a'
$ json '(b||~a)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)||~b'
$ json '(b||~a)||c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)||c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)||c'
$ json '(b||~a)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~a)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~a)||~c'
$ json '(b||~b)||a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)||a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)||a'
$ json '(b||~b)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)||~a'
$ json '(b||~b)||c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)||c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)||c'
$ json '(b||~b)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~b)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~b)||~c'
$ json '(b||c)||a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)||a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)||a'
$ json '(b||c)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)||~a'
$ json '(b||c)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)||~b'
$ json '(b||c)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||c)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||c)||~c'
$ json '(b||~c)||a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)||a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)||a'
$ json '(b||~c)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)||~a'
$ json '(b||~c)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)||~b'
$ json '(b||~c)||c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(b||~c)||c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(b||~c)||c'
$ json '(~b||a)||~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)||~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)||~a'
$ json '(~b||a)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)||b'
$ json '(~b||a)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)||c'
$ json '(~b||a)||~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||a)||~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||a)||~c'
$ json '(~b||~a)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)||a'
$ json '(~b||~a)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)||b'
$ json '(~b||~a)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)||c'
$ json '(~b||~a)||~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~a)||~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~a)||~c'
$ json '(~b||b)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)||a'
$ json '(~b||b)||~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)||~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)||~a'
$ json '(~b||b)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)||c'
$ json '(~b||b)||~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||b)||~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||b)||~c'
$ json '(~b||c)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)||a'
$ json '(~b||c)||~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)||~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)||~a'
$ json '(~b||c)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)||b'
$ json '(~b||c)||~c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||c)||~c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||c)||~c'
$ json '(~b||~c)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)||a'
$ json '(~b||~c)||~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)||~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)||~a'
$ json '(~b||~c)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)||b'
$ json '(~b||~c)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~b||~c)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~b||~c)||c'
$ json '(c||a)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)||~a'
$ json '(c||a)||b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)||b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)||b'
$ json '(c||a)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)||~b'
$ json '(c||a)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||a)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||a)||~c'
$ json '(c||~a)||a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)||a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)||a'
$ json '(c||~a)||b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)||b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)||b'
$ json '(c||~a)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)||~b'
$ json '(c||~a)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~a)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~a)||~c'
$ json '(c||b)||a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)||a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)||a'
$ json '(c||b)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)||~a'
$ json '(c||b)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)||~b'
$ json '(c||b)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||b)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||b)||~c'
$ json '(c||~b)||a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)||a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)||a'
$ json '(c||~b)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)||~a'
$ json '(c||~b)||b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)||b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)||b'
$ json '(c||~b)||~c'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~b)||~c"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~b)||~c'
$ json '(c||~c)||a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)||a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)||a'
$ json '(c||~c)||~a'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)||~a"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)||~a'
$ json '(c||~c)||b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)||b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)||b'
$ json '(c||~c)||~b'
json: error: <stdin>:2:4: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:4: c","type":"number"}],"expr":\n"(c||~c)||~b"}
json: error: <stdin>:2:4:                                  ^
command failed: json '(c||~c)||~b'
$ json '(~c||a)||~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)||~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)||~a'
$ json '(~c||a)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)||b'
$ json '(~c||a)||~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)||~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)||~b'
$ json '(~c||a)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||a)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||a)||c'
$ json '(~c||~a)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)||a'
$ json '(~c||~a)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)||b'
$ json '(~c||~a)||~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)||~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)||~b'
$ json '(~c||~a)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~a)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~a)||c'
$ json '(~c||b)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)||a'
$ json '(~c||b)||~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)||~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)||~a'
$ json '(~c||b)||~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)||~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)||~b'
$ json '(~c||b)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||b)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||b)||c'
$ json '(~c||~b)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)||a'
$ json '(~c||~b)||~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)||~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)||~a'
$ json '(~c||~b)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)||b'
$ json '(~c||~b)||c'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||~b)||c"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||~b)||c'
$ json '(~c||c)||a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)||a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)||a'
$ json '(~c||c)||~a'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)||~a"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)||~a'
$ json '(~c||c)||b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)||b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)||b'
$ json '(~c||c)||~b'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"(~c||c)||~b"}
json: error: <stdin>:2:5:                                  ^
command failed: json '(~c||c)||~b'
$ 
 
--[ dict-expr-keys4 ]-----------------------------------------------------------

$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V -TA <<< '{"type":"dict","args":[{"name":"a","type":"number"},{"name":"b","type":"number"},{"name":"c","type":"number"}],"expr":'$'\n"'"$1"'"}'|LD_LIBRARY_PATH=../lib ../src/json -J --no-error|sed -nr 's|^/attr/expr/bits=||p'; }
#
# # meta command:
# $ for o1 in '&' '|' '||'; do for o2 in '&' '|' '||'; do for x in a '~a' b '~b' c '~c'; do for y in a '~a' b '~b' c '~c'; do for z in a '~a' b '~b' c '~c'; do [ "$x" == "$y" -o "$y" == "$z" -o "$z" == "$x" ] && continue; c="json '$x$o1($y$o2$z)'"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done; done; done; done; done
#
$ json 'a&(~a&b)'
000
$ json 'a&(~a&~b)'
000
$ json 'a&(~a&c)'
000
$ json 'a&(~a&~c)'
000
$ json 'a&(b&~a)'
000
$ json 'a&(b&~b)'
000
$ json 'a&(b&c)'
000
$ json 'a&(b&~c)'
000
$ json 'a&(~b&~a)'
000
$ json 'a&(~b&b)'
000
$ json 'a&(~b&c)'
000
$ json 'a&(~b&~c)'
100
$ json 'a&(c&~a)'
000
$ json 'a&(c&b)'
000
$ json 'a&(c&~b)'
000
$ json 'a&(c&~c)'
000
$ json 'a&(~c&~a)'
000
$ json 'a&(~c&b)'
000
$ json 'a&(~c&~b)'
100
$ json 'a&(~c&c)'
000
$ json '~a&(a&b)'
000
$ json '~a&(a&~b)'
000
$ json '~a&(a&c)'
000
$ json '~a&(a&~c)'
000
$ json '~a&(b&a)'
000
$ json '~a&(b&~b)'
000
$ json '~a&(b&c)'
000
$ json '~a&(b&~c)'
010
$ json '~a&(~b&a)'
000
$ json '~a&(~b&b)'
000
$ json '~a&(~b&c)'
001
$ json '~a&(~b&~c)'
000
$ json '~a&(c&a)'
000
$ json '~a&(c&b)'
000
$ json '~a&(c&~b)'
001
$ json '~a&(c&~c)'
000
$ json '~a&(~c&a)'
000
$ json '~a&(~c&b)'
010
$ json '~a&(~c&~b)'
000
$ json '~a&(~c&c)'
000
$ json 'b&(a&~a)'
000
$ json 'b&(a&~b)'
000
$ json 'b&(a&c)'
000
$ json 'b&(a&~c)'
000
$ json 'b&(~a&a)'
000
$ json 'b&(~a&~b)'
000
$ json 'b&(~a&c)'
000
$ json 'b&(~a&~c)'
010
$ json 'b&(~b&a)'
000
$ json 'b&(~b&~a)'
000
$ json 'b&(~b&c)'
000
$ json 'b&(~b&~c)'
000
$ json 'b&(c&a)'
000
$ json 'b&(c&~a)'
000
$ json 'b&(c&~b)'
000
$ json 'b&(c&~c)'
000
$ json 'b&(~c&a)'
000
$ json 'b&(~c&~a)'
010
$ json 'b&(~c&~b)'
000
$ json 'b&(~c&c)'
000
$ json '~b&(a&~a)'
000
$ json '~b&(a&b)'
000
$ json '~b&(a&c)'
000
$ json '~b&(a&~c)'
100
$ json '~b&(~a&a)'
000
$ json '~b&(~a&b)'
000
$ json '~b&(~a&c)'
001
$ json '~b&(~a&~c)'
000
$ json '~b&(b&a)'
000
$ json '~b&(b&~a)'
000
$ json '~b&(b&c)'
000
$ json '~b&(b&~c)'
000
$ json '~b&(c&a)'
000
$ json '~b&(c&~a)'
001
$ json '~b&(c&b)'
000
$ json '~b&(c&~c)'
000
$ json '~b&(~c&a)'
100
$ json '~b&(~c&~a)'
000
$ json '~b&(~c&b)'
000
$ json '~b&(~c&c)'
000
$ json 'c&(a&~a)'
000
$ json 'c&(a&b)'
000
$ json 'c&(a&~b)'
000
$ json 'c&(a&~c)'
000
$ json 'c&(~a&a)'
000
$ json 'c&(~a&b)'
000
$ json 'c&(~a&~b)'
001
$ json 'c&(~a&~c)'
000
$ json 'c&(b&a)'
000
$ json 'c&(b&~a)'
000
$ json 'c&(b&~b)'
000
$ json 'c&(b&~c)'
000
$ json 'c&(~b&a)'
000
$ json 'c&(~b&~a)'
001
$ json 'c&(~b&b)'
000
$ json 'c&(~b&~c)'
000
$ json 'c&(~c&a)'
000
$ json 'c&(~c&~a)'
000
$ json 'c&(~c&b)'
000
$ json 'c&(~c&~b)'
000
$ json '~c&(a&~a)'
000
$ json '~c&(a&b)'
000
$ json '~c&(a&~b)'
100
$ json '~c&(a&c)'
000
$ json '~c&(~a&a)'
000
$ json '~c&(~a&b)'
010
$ json '~c&(~a&~b)'
000
$ json '~c&(~a&c)'
000
$ json '~c&(b&a)'
000
$ json '~c&(b&~a)'
010
$ json '~c&(b&~b)'
000
$ json '~c&(b&c)'
000
$ json '~c&(~b&a)'
100
$ json '~c&(~b&~a)'
000
$ json '~c&(~b&b)'
000
$ json '~c&(~b&c)'
000
$ json '~c&(c&a)'
000
$ json '~c&(c&~a)'
000
$ json '~c&(c&b)'
000
$ json '~c&(c&~b)'
000
$ json 'a&(~a|b)'
000
$ json 'a&(~a|~b)'
100
$ json 'a&(~a|c)'
000
$ json 'a&(~a|~c)'
100
$ json 'a&(b|~a)'
000
$ json 'a&(b|~b)'
100
$ json 'a&(b|c)'
000
$ json 'a&(b|~c)'
100
$ json 'a&(~b|~a)'
100
$ json 'a&(~b|b)'
100
$ json 'a&(~b|c)'
100
$ json 'a&(~b|~c)'
100
$ json 'a&(c|~a)'
000
$ json 'a&(c|b)'
000
$ json 'a&(c|~b)'
100
$ json 'a&(c|~c)'
100
$ json 'a&(~c|~a)'
100
$ json 'a&(~c|b)'
100
$ json 'a&(~c|~b)'
100
$ json 'a&(~c|c)'
100
$ json '~a&(a|b)'
010
$ json '~a&(a|~b)'
001
$ json '~a&(a|c)'
001
$ json '~a&(a|~c)'
010
$ json '~a&(b|a)'
010
$ json '~a&(b|~b)'
011
$ json '~a&(b|c)'
011
$ json '~a&(b|~c)'
010
$ json '~a&(~b|a)'
001
$ json '~a&(~b|b)'
011
$ json '~a&(~b|c)'
001
$ json '~a&(~b|~c)'
011
$ json '~a&(c|a)'
001
$ json '~a&(c|b)'
011
$ json '~a&(c|~b)'
001
$ json '~a&(c|~c)'
011
$ json '~a&(~c|a)'
010
$ json '~a&(~c|b)'
010
$ json '~a&(~c|~b)'
011
$ json '~a&(~c|c)'
011
$ json 'b&(a|~a)'
010
$ json 'b&(a|~b)'
000
$ json 'b&(a|c)'
000
$ json 'b&(a|~c)'
010
$ json 'b&(~a|a)'
010
$ json 'b&(~a|~b)'
010
$ json 'b&(~a|c)'
010
$ json 'b&(~a|~c)'
010
$ json 'b&(~b|a)'
000
$ json 'b&(~b|~a)'
010
$ json 'b&(~b|c)'
000
$ json 'b&(~b|~c)'
010
$ json 'b&(c|a)'
000
$ json 'b&(c|~a)'
010
$ json 'b&(c|~b)'
000
$ json 'b&(c|~c)'
010
$ json 'b&(~c|a)'
010
$ json 'b&(~c|~a)'
010
$ json 'b&(~c|~b)'
010
$ json 'b&(~c|c)'
010
$ json '~b&(a|~a)'
101
$ json '~b&(a|b)'
100
$ json '~b&(a|c)'
101
$ json '~b&(a|~c)'
100
$ json '~b&(~a|a)'
101
$ json '~b&(~a|b)'
001
$ json '~b&(~a|c)'
001
$ json '~b&(~a|~c)'
101
$ json '~b&(b|a)'
100
$ json '~b&(b|~a)'
001
$ json '~b&(b|c)'
001
$ json '~b&(b|~c)'
100
$ json '~b&(c|a)'
101
$ json '~b&(c|~a)'
001
$ json '~b&(c|b)'
001
$ json '~b&(c|~c)'
101
$ json '~b&(~c|a)'
100
$ json '~b&(~c|~a)'
101
$ json '~b&(~c|b)'
100
$ json '~b&(~c|c)'
101
$ json 'c&(a|~a)'
001
$ json 'c&(a|b)'
000
$ json 'c&(a|~b)'
001
$ json 'c&(a|~c)'
000
$ json 'c&(~a|a)'
001
$ json 'c&(~a|b)'
001
$ json 'c&(~a|~b)'
001
$ json 'c&(~a|~c)'
001
$ json 'c&(b|a)'
000
$ json 'c&(b|~a)'
001
$ json 'c&(b|~b)'
001
$ json 'c&(b|~c)'
000
$ json 'c&(~b|a)'
001
$ json 'c&(~b|~a)'
001
$ json 'c&(~b|b)'
001
$ json 'c&(~b|~c)'
001
$ json 'c&(~c|a)'
000
$ json 'c&(~c|~a)'
001
$ json 'c&(~c|b)'
000
$ json 'c&(~c|~b)'
001
$ json '~c&(a|~a)'
110
$ json '~c&(a|b)'
110
$ json '~c&(a|~b)'
100
$ json '~c&(a|c)'
100
$ json '~c&(~a|a)'
110
$ json '~c&(~a|b)'
010
$ json '~c&(~a|~b)'
110
$ json '~c&(~a|c)'
010
$ json '~c&(b|a)'
110
$ json '~c&(b|~a)'
010
$ json '~c&(b|~b)'
110
$ json '~c&(b|c)'
010
$ json '~c&(~b|a)'
100
$ json '~c&(~b|~a)'
110
$ json '~c&(~b|b)'
110
$ json '~c&(~b|c)'
100
$ json '~c&(c|a)'
100
$ json '~c&(c|~a)'
010
$ json '~c&(c|b)'
010
$ json '~c&(c|~b)'
100
$ json 'a&(~a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~a||b)'
$ json 'a&(~a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~a||~b)'
$ json 'a&(~a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~a||c)'
$ json 'a&(~a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~a||~c)'
$ json 'a&(b||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a&(b||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a&(b||~a)'
$ json 'a&(b||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a&(b||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a&(b||~b)'
$ json 'a&(b||c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a&(b||c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a&(b||c)'
$ json 'a&(b||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a&(b||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a&(b||~c)'
$ json 'a&(~b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~b||~a)'
$ json 'a&(~b||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~b||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~b||b)'
$ json 'a&(~b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~b||c)'
$ json 'a&(~b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~b||~c)'
$ json 'a&(c||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a&(c||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a&(c||~a)'
$ json 'a&(c||b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a&(c||b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a&(c||b)'
$ json 'a&(c||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a&(c||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a&(c||~b)'
$ json 'a&(c||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a&(c||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a&(c||~c)'
$ json 'a&(~c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~c||~a)'
$ json 'a&(~c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~c||b)'
$ json 'a&(~c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~c||~b)'
$ json 'a&(~c||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&(~c||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&(~c||c)'
$ json '~a&(a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(a||b)'
$ json '~a&(a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(a||~b)'
$ json '~a&(a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(a||c)'
$ json '~a&(a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(a||~c)'
$ json '~a&(b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(b||a)'
$ json '~a&(b||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(b||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(b||~b)'
$ json '~a&(b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(b||c)'
$ json '~a&(b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(b||~c)'
$ json '~a&(~b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&(~b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&(~b||a)'
$ json '~a&(~b||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&(~b||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&(~b||b)'
$ json '~a&(~b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&(~b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&(~b||c)'
$ json '~a&(~b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&(~b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&(~b||~c)'
$ json '~a&(c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(c||a)'
$ json '~a&(c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(c||b)'
$ json '~a&(c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(c||~b)'
$ json '~a&(c||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a&(c||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a&(c||~c)'
$ json '~a&(~c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&(~c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&(~c||a)'
$ json '~a&(~c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&(~c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&(~c||b)'
$ json '~a&(~c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&(~c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&(~c||~b)'
$ json '~a&(~c||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&(~c||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&(~c||c)'
$ json 'b&(a||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b&(a||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b&(a||~a)'
$ json 'b&(a||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b&(a||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b&(a||~b)'
$ json 'b&(a||c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b&(a||c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b&(a||c)'
$ json 'b&(a||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b&(a||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b&(a||~c)'
$ json 'b&(~a||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~a||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~a||a)'
$ json 'b&(~a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~a||~b)'
$ json 'b&(~a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~a||c)'
$ json 'b&(~a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~a||~c)'
$ json 'b&(~b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~b||a)'
$ json 'b&(~b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~b||~a)'
$ json 'b&(~b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~b||c)'
$ json 'b&(~b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~b||~c)'
$ json 'b&(c||a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b&(c||a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b&(c||a)'
$ json 'b&(c||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b&(c||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b&(c||~a)'
$ json 'b&(c||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b&(c||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b&(c||~b)'
$ json 'b&(c||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b&(c||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b&(c||~c)'
$ json 'b&(~c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~c||a)'
$ json 'b&(~c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~c||~a)'
$ json 'b&(~c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~c||~b)'
$ json 'b&(~c||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&(~c||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&(~c||c)'
$ json '~b&(a||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(a||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(a||~a)'
$ json '~b&(a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(a||b)'
$ json '~b&(a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(a||c)'
$ json '~b&(a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(a||~c)'
$ json '~b&(~a||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&(~a||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&(~a||a)'
$ json '~b&(~a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&(~a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&(~a||b)'
$ json '~b&(~a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&(~a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&(~a||c)'
$ json '~b&(~a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&(~a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&(~a||~c)'
$ json '~b&(b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(b||a)'
$ json '~b&(b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(b||~a)'
$ json '~b&(b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(b||c)'
$ json '~b&(b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(b||~c)'
$ json '~b&(c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(c||a)'
$ json '~b&(c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(c||~a)'
$ json '~b&(c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(c||b)'
$ json '~b&(c||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b&(c||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b&(c||~c)'
$ json '~b&(~c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&(~c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&(~c||a)'
$ json '~b&(~c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&(~c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&(~c||~a)'
$ json '~b&(~c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&(~c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&(~c||b)'
$ json '~b&(~c||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&(~c||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&(~c||c)'
$ json 'c&(a||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c&(a||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c&(a||~a)'
$ json 'c&(a||b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c&(a||b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c&(a||b)'
$ json 'c&(a||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c&(a||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c&(a||~b)'
$ json 'c&(a||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c&(a||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c&(a||~c)'
$ json 'c&(~a||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~a||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~a||a)'
$ json 'c&(~a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~a||b)'
$ json 'c&(~a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~a||~b)'
$ json 'c&(~a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~a||~c)'
$ json 'c&(b||a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c&(b||a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c&(b||a)'
$ json 'c&(b||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c&(b||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c&(b||~a)'
$ json 'c&(b||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c&(b||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c&(b||~b)'
$ json 'c&(b||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c&(b||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c&(b||~c)'
$ json 'c&(~b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~b||a)'
$ json 'c&(~b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~b||~a)'
$ json 'c&(~b||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~b||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~b||b)'
$ json 'c&(~b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~b||~c)'
$ json 'c&(~c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~c||a)'
$ json 'c&(~c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~c||~a)'
$ json 'c&(~c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~c||b)'
$ json 'c&(~c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&(~c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&(~c||~b)'
$ json '~c&(a||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(a||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(a||~a)'
$ json '~c&(a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(a||b)'
$ json '~c&(a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(a||~b)'
$ json '~c&(a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(a||c)'
$ json '~c&(~a||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&(~a||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&(~a||a)'
$ json '~c&(~a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&(~a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&(~a||b)'
$ json '~c&(~a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&(~a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&(~a||~b)'
$ json '~c&(~a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&(~a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&(~a||c)'
$ json '~c&(b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(b||a)'
$ json '~c&(b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(b||~a)'
$ json '~c&(b||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(b||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(b||~b)'
$ json '~c&(b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(b||c)'
$ json '~c&(~b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&(~b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&(~b||a)'
$ json '~c&(~b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&(~b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&(~b||~a)'
$ json '~c&(~b||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&(~b||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&(~b||b)'
$ json '~c&(~b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&(~b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&(~b||c)'
$ json '~c&(c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(c||a)'
$ json '~c&(c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(c||~a)'
$ json '~c&(c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(c||b)'
$ json '~c&(c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c&(c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c&(c||~b)'
$ json 'a|(~a&b)'
110
$ json 'a|(~a&~b)'
101
$ json 'a|(~a&c)'
101
$ json 'a|(~a&~c)'
110
$ json 'a|(b&~a)'
110
$ json 'a|(b&~b)'
100
$ json 'a|(b&c)'
100
$ json 'a|(b&~c)'
110
$ json 'a|(~b&~a)'
101
$ json 'a|(~b&b)'
100
$ json 'a|(~b&c)'
101
$ json 'a|(~b&~c)'
100
$ json 'a|(c&~a)'
101
$ json 'a|(c&b)'
100
$ json 'a|(c&~b)'
101
$ json 'a|(c&~c)'
100
$ json 'a|(~c&~a)'
110
$ json 'a|(~c&b)'
110
$ json 'a|(~c&~b)'
100
$ json 'a|(~c&c)'
100
$ json '~a|(a&b)'
011
$ json '~a|(a&~b)'
111
$ json '~a|(a&c)'
011
$ json '~a|(a&~c)'
111
$ json '~a|(b&a)'
011
$ json '~a|(b&~b)'
011
$ json '~a|(b&c)'
011
$ json '~a|(b&~c)'
011
$ json '~a|(~b&a)'
111
$ json '~a|(~b&b)'
011
$ json '~a|(~b&c)'
011
$ json '~a|(~b&~c)'
111
$ json '~a|(c&a)'
011
$ json '~a|(c&b)'
011
$ json '~a|(c&~b)'
011
$ json '~a|(c&~c)'
011
$ json '~a|(~c&a)'
111
$ json '~a|(~c&b)'
011
$ json '~a|(~c&~b)'
111
$ json '~a|(~c&c)'
011
$ json 'b|(a&~a)'
010
$ json 'b|(a&~b)'
110
$ json 'b|(a&c)'
010
$ json 'b|(a&~c)'
110
$ json 'b|(~a&a)'
010
$ json 'b|(~a&~b)'
011
$ json 'b|(~a&c)'
011
$ json 'b|(~a&~c)'
010
$ json 'b|(~b&a)'
110
$ json 'b|(~b&~a)'
011
$ json 'b|(~b&c)'
011
$ json 'b|(~b&~c)'
110
$ json 'b|(c&a)'
010
$ json 'b|(c&~a)'
011
$ json 'b|(c&~b)'
011
$ json 'b|(c&~c)'
010
$ json 'b|(~c&a)'
110
$ json 'b|(~c&~a)'
010
$ json 'b|(~c&~b)'
110
$ json 'b|(~c&c)'
010
$ json '~b|(a&~a)'
101
$ json '~b|(a&b)'
101
$ json '~b|(a&c)'
101
$ json '~b|(a&~c)'
101
$ json '~b|(~a&a)'
101
$ json '~b|(~a&b)'
111
$ json '~b|(~a&c)'
101
$ json '~b|(~a&~c)'
111
$ json '~b|(b&a)'
101
$ json '~b|(b&~a)'
111
$ json '~b|(b&c)'
101
$ json '~b|(b&~c)'
111
$ json '~b|(c&a)'
101
$ json '~b|(c&~a)'
101
$ json '~b|(c&b)'
101
$ json '~b|(c&~c)'
101
$ json '~b|(~c&a)'
101
$ json '~b|(~c&~a)'
111
$ json '~b|(~c&b)'
111
$ json '~b|(~c&c)'
101
$ json 'c|(a&~a)'
001
$ json 'c|(a&b)'
001
$ json 'c|(a&~b)'
101
$ json 'c|(a&~c)'
101
$ json 'c|(~a&a)'
001
$ json 'c|(~a&b)'
011
$ json 'c|(~a&~b)'
001
$ json 'c|(~a&~c)'
011
$ json 'c|(b&a)'
001
$ json 'c|(b&~a)'
011
$ json 'c|(b&~b)'
001
$ json 'c|(b&~c)'
011
$ json 'c|(~b&a)'
101
$ json 'c|(~b&~a)'
001
$ json 'c|(~b&b)'
001
$ json 'c|(~b&~c)'
101
$ json 'c|(~c&a)'
101
$ json 'c|(~c&~a)'
011
$ json 'c|(~c&b)'
011
$ json 'c|(~c&~b)'
101
$ json '~c|(a&~a)'
110
$ json '~c|(a&b)'
110
$ json '~c|(a&~b)'
110
$ json '~c|(a&c)'
110
$ json '~c|(~a&a)'
110
$ json '~c|(~a&b)'
110
$ json '~c|(~a&~b)'
111
$ json '~c|(~a&c)'
111
$ json '~c|(b&a)'
110
$ json '~c|(b&~a)'
110
$ json '~c|(b&~b)'
110
$ json '~c|(b&c)'
110
$ json '~c|(~b&a)'
110
$ json '~c|(~b&~a)'
111
$ json '~c|(~b&b)'
110
$ json '~c|(~b&c)'
111
$ json '~c|(c&a)'
110
$ json '~c|(c&~a)'
111
$ json '~c|(c&b)'
110
$ json '~c|(c&~b)'
111
$ json 'a|(~a|b)'
111
$ json 'a|(~a|~b)'
111
$ json 'a|(~a|c)'
111
$ json 'a|(~a|~c)'
111
$ json 'a|(b|~a)'
111
$ json 'a|(b|~b)'
111
$ json 'a|(b|c)'
111
$ json 'a|(b|~c)'
110
$ json 'a|(~b|~a)'
111
$ json 'a|(~b|b)'
111
$ json 'a|(~b|c)'
101
$ json 'a|(~b|~c)'
111
$ json 'a|(c|~a)'
111
$ json 'a|(c|b)'
111
$ json 'a|(c|~b)'
101
$ json 'a|(c|~c)'
111
$ json 'a|(~c|~a)'
111
$ json 'a|(~c|b)'
110
$ json 'a|(~c|~b)'
111
$ json 'a|(~c|c)'
111
$ json '~a|(a|b)'
111
$ json '~a|(a|~b)'
111
$ json '~a|(a|c)'
111
$ json '~a|(a|~c)'
111
$ json '~a|(b|a)'
111
$ json '~a|(b|~b)'
111
$ json '~a|(b|c)'
011
$ json '~a|(b|~c)'
111
$ json '~a|(~b|a)'
111
$ json '~a|(~b|b)'
111
$ json '~a|(~b|c)'
111
$ json '~a|(~b|~c)'
111
$ json '~a|(c|a)'
111
$ json '~a|(c|b)'
011
$ json '~a|(c|~b)'
111
$ json '~a|(c|~c)'
111
$ json '~a|(~c|a)'
111
$ json '~a|(~c|b)'
111
$ json '~a|(~c|~b)'
111
$ json '~a|(~c|c)'
111
$ json 'b|(a|~a)'
111
$ json 'b|(a|~b)'
111
$ json 'b|(a|c)'
111
$ json 'b|(a|~c)'
110
$ json 'b|(~a|a)'
111
$ json 'b|(~a|~b)'
111
$ json 'b|(~a|c)'
011
$ json 'b|(~a|~c)'
111
$ json 'b|(~b|a)'
111
$ json 'b|(~b|~a)'
111
$ json 'b|(~b|c)'
111
$ json 'b|(~b|~c)'
111
$ json 'b|(c|a)'
111
$ json 'b|(c|~a)'
011
$ json 'b|(c|~b)'
111
$ json 'b|(c|~c)'
111
$ json 'b|(~c|a)'
110
$ json 'b|(~c|~a)'
111
$ json 'b|(~c|~b)'
111
$ json 'b|(~c|c)'
111
$ json '~b|(a|~a)'
111
$ json '~b|(a|b)'
111
$ json '~b|(a|c)'
101
$ json '~b|(a|~c)'
111
$ json '~b|(~a|a)'
111
$ json '~b|(~a|b)'
111
$ json '~b|(~a|c)'
111
$ json '~b|(~a|~c)'
111
$ json '~b|(b|a)'
111
$ json '~b|(b|~a)'
111
$ json '~b|(b|c)'
111
$ json '~b|(b|~c)'
111
$ json '~b|(c|a)'
101
$ json '~b|(c|~a)'
111
$ json '~b|(c|b)'
111
$ json '~b|(c|~c)'
111
$ json '~b|(~c|a)'
111
$ json '~b|(~c|~a)'
111
$ json '~b|(~c|b)'
111
$ json '~b|(~c|c)'
111
$ json 'c|(a|~a)'
111
$ json 'c|(a|b)'
111
$ json 'c|(a|~b)'
101
$ json 'c|(a|~c)'
111
$ json 'c|(~a|a)'
111
$ json 'c|(~a|b)'
011
$ json 'c|(~a|~b)'
111
$ json 'c|(~a|~c)'
111
$ json 'c|(b|a)'
111
$ json 'c|(b|~a)'
011
$ json 'c|(b|~b)'
111
$ json 'c|(b|~c)'
111
$ json 'c|(~b|a)'
101
$ json 'c|(~b|~a)'
111
$ json 'c|(~b|b)'
111
$ json 'c|(~b|~c)'
111
$ json 'c|(~c|a)'
111
$ json 'c|(~c|~a)'
111
$ json 'c|(~c|b)'
111
$ json 'c|(~c|~b)'
111
$ json '~c|(a|~a)'
111
$ json '~c|(a|b)'
110
$ json '~c|(a|~b)'
111
$ json '~c|(a|c)'
111
$ json '~c|(~a|a)'
111
$ json '~c|(~a|b)'
111
$ json '~c|(~a|~b)'
111
$ json '~c|(~a|c)'
111
$ json '~c|(b|a)'
110
$ json '~c|(b|~a)'
111
$ json '~c|(b|~b)'
111
$ json '~c|(b|c)'
111
$ json '~c|(~b|a)'
111
$ json '~c|(~b|~a)'
111
$ json '~c|(~b|b)'
111
$ json '~c|(~b|c)'
111
$ json '~c|(c|a)'
111
$ json '~c|(c|~a)'
111
$ json '~c|(c|b)'
111
$ json '~c|(c|~b)'
111
$ json 'a|(~a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~a||b)'
$ json 'a|(~a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~a||~b)'
$ json 'a|(~a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~a||c)'
$ json 'a|(~a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~a||~c)'
$ json 'a|(b||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a|(b||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a|(b||~a)'
$ json 'a|(b||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a|(b||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a|(b||~b)'
$ json 'a|(b||c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a|(b||c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a|(b||c)'
$ json 'a|(b||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a|(b||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a|(b||~c)'
$ json 'a|(~b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~b||~a)'
$ json 'a|(~b||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~b||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~b||b)'
$ json 'a|(~b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~b||c)'
$ json 'a|(~b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~b||~c)'
$ json 'a|(c||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a|(c||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a|(c||~a)'
$ json 'a|(c||b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a|(c||b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a|(c||b)'
$ json 'a|(c||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a|(c||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a|(c||~b)'
$ json 'a|(c||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"a|(c||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'a|(c||~c)'
$ json 'a|(~c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~c||~a)'
$ json 'a|(~c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~c||b)'
$ json 'a|(~c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~c||~b)'
$ json 'a|(~c||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|(~c||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|(~c||c)'
$ json '~a|(a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(a||b)'
$ json '~a|(a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(a||~b)'
$ json '~a|(a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(a||c)'
$ json '~a|(a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(a||~c)'
$ json '~a|(b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(b||a)'
$ json '~a|(b||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(b||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(b||~b)'
$ json '~a|(b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(b||c)'
$ json '~a|(b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(b||~c)'
$ json '~a|(~b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|(~b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|(~b||a)'
$ json '~a|(~b||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|(~b||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|(~b||b)'
$ json '~a|(~b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|(~b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|(~b||c)'
$ json '~a|(~b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|(~b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|(~b||~c)'
$ json '~a|(c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(c||a)'
$ json '~a|(c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(c||b)'
$ json '~a|(c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(c||~b)'
$ json '~a|(c||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~a|(c||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~a|(c||~c)'
$ json '~a|(~c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|(~c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|(~c||a)'
$ json '~a|(~c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|(~c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|(~c||b)'
$ json '~a|(~c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|(~c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|(~c||~b)'
$ json '~a|(~c||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|(~c||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|(~c||c)'
$ json 'b|(a||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b|(a||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b|(a||~a)'
$ json 'b|(a||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b|(a||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b|(a||~b)'
$ json 'b|(a||c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b|(a||c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b|(a||c)'
$ json 'b|(a||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b|(a||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b|(a||~c)'
$ json 'b|(~a||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~a||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~a||a)'
$ json 'b|(~a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~a||~b)'
$ json 'b|(~a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~a||c)'
$ json 'b|(~a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~a||~c)'
$ json 'b|(~b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~b||a)'
$ json 'b|(~b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~b||~a)'
$ json 'b|(~b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~b||c)'
$ json 'b|(~b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~b||~c)'
$ json 'b|(c||a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b|(c||a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b|(c||a)'
$ json 'b|(c||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b|(c||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b|(c||~a)'
$ json 'b|(c||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b|(c||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b|(c||~b)'
$ json 'b|(c||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"b|(c||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'b|(c||~c)'
$ json 'b|(~c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~c||a)'
$ json 'b|(~c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~c||~a)'
$ json 'b|(~c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~c||~b)'
$ json 'b|(~c||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|(~c||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|(~c||c)'
$ json '~b|(a||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(a||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(a||~a)'
$ json '~b|(a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(a||b)'
$ json '~b|(a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(a||c)'
$ json '~b|(a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(a||~c)'
$ json '~b|(~a||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|(~a||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|(~a||a)'
$ json '~b|(~a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|(~a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|(~a||b)'
$ json '~b|(~a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|(~a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|(~a||c)'
$ json '~b|(~a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|(~a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|(~a||~c)'
$ json '~b|(b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(b||a)'
$ json '~b|(b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(b||~a)'
$ json '~b|(b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(b||c)'
$ json '~b|(b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(b||~c)'
$ json '~b|(c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(c||a)'
$ json '~b|(c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(c||~a)'
$ json '~b|(c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(c||b)'
$ json '~b|(c||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~b|(c||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~b|(c||~c)'
$ json '~b|(~c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|(~c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|(~c||a)'
$ json '~b|(~c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|(~c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|(~c||~a)'
$ json '~b|(~c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|(~c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|(~c||b)'
$ json '~b|(~c||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|(~c||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|(~c||c)'
$ json 'c|(a||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c|(a||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c|(a||~a)'
$ json 'c|(a||b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c|(a||b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c|(a||b)'
$ json 'c|(a||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c|(a||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c|(a||~b)'
$ json 'c|(a||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c|(a||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c|(a||~c)'
$ json 'c|(~a||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~a||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~a||a)'
$ json 'c|(~a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~a||b)'
$ json 'c|(~a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~a||~b)'
$ json 'c|(~a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~a||~c)'
$ json 'c|(b||a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c|(b||a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c|(b||a)'
$ json 'c|(b||~a)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c|(b||~a)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c|(b||~a)'
$ json 'c|(b||~b)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c|(b||~b)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c|(b||~b)'
$ json 'c|(b||~c)'
json: error: <stdin>:2:6: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:6: ,"type":"number"}],"expr":\n"c|(b||~c)"}
json: error: <stdin>:2:6:                                  ^
command failed: json 'c|(b||~c)'
$ json 'c|(~b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~b||a)'
$ json 'c|(~b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~b||~a)'
$ json 'c|(~b||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~b||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~b||b)'
$ json 'c|(~b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~b||~c)'
$ json 'c|(~c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~c||a)'
$ json 'c|(~c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~c||~a)'
$ json 'c|(~c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~c||b)'
$ json 'c|(~c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|(~c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|(~c||~b)'
$ json '~c|(a||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(a||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(a||~a)'
$ json '~c|(a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(a||b)'
$ json '~c|(a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(a||~b)'
$ json '~c|(a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(a||c)'
$ json '~c|(~a||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|(~a||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|(~a||a)'
$ json '~c|(~a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|(~a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|(~a||b)'
$ json '~c|(~a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|(~a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|(~a||~b)'
$ json '~c|(~a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|(~a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|(~a||c)'
$ json '~c|(b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(b||a)'
$ json '~c|(b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(b||~a)'
$ json '~c|(b||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(b||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(b||~b)'
$ json '~c|(b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(b||c)'
$ json '~c|(~b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|(~b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|(~b||a)'
$ json '~c|(~b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|(~b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|(~b||~a)'
$ json '~c|(~b||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|(~b||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|(~b||b)'
$ json '~c|(~b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|(~b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|(~b||c)'
$ json '~c|(c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(c||a)'
$ json '~c|(c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(c||~a)'
$ json '~c|(c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(c||b)'
$ json '~c|(c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"~c|(c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json '~c|(c||~b)'
$ json 'a||(~a&b)'
100
010
$ json 'a||(~a&~b)'
100
001
$ json 'a||(~a&c)'
100
001
$ json 'a||(~a&~c)'
100
010
$ json 'a||(b&~a)'
100
010
$ json 'a||(b&~b)'
100
000
$ json 'a||(b&c)'
100
000
$ json 'a||(b&~c)'
100
010
$ json 'a||(~b&~a)'
100
001
$ json 'a||(~b&b)'
100
000
$ json 'a||(~b&c)'
100
001
$ json 'a||(~b&~c)'
100
100
$ json 'a||(c&~a)'
100
001
$ json 'a||(c&b)'
100
000
$ json 'a||(c&~b)'
100
001
$ json 'a||(c&~c)'
100
000
$ json 'a||(~c&~a)'
100
010
$ json 'a||(~c&b)'
100
010
$ json 'a||(~c&~b)'
100
100
$ json 'a||(~c&c)'
100
000
$ json '~a||(a&b)'
011
000
$ json '~a||(a&~b)'
011
100
$ json '~a||(a&c)'
011
000
$ json '~a||(a&~c)'
011
100
$ json '~a||(b&a)'
011
000
$ json '~a||(b&~b)'
011
000
$ json '~a||(b&c)'
011
000
$ json '~a||(b&~c)'
011
010
$ json '~a||(~b&a)'
011
100
$ json '~a||(~b&b)'
011
000
$ json '~a||(~b&c)'
011
001
$ json '~a||(~b&~c)'
011
100
$ json '~a||(c&a)'
011
000
$ json '~a||(c&b)'
011
000
$ json '~a||(c&~b)'
011
001
$ json '~a||(c&~c)'
011
000
$ json '~a||(~c&a)'
011
100
$ json '~a||(~c&b)'
011
010
$ json '~a||(~c&~b)'
011
100
$ json '~a||(~c&c)'
011
000
$ json 'b||(a&~a)'
010
000
$ json 'b||(a&~b)'
010
100
$ json 'b||(a&c)'
010
000
$ json 'b||(a&~c)'
010
100
$ json 'b||(~a&a)'
010
000
$ json 'b||(~a&~b)'
010
001
$ json 'b||(~a&c)'
010
001
$ json 'b||(~a&~c)'
010
010
$ json 'b||(~b&a)'
010
100
$ json 'b||(~b&~a)'
010
001
$ json 'b||(~b&c)'
010
001
$ json 'b||(~b&~c)'
010
100
$ json 'b||(c&a)'
010
000
$ json 'b||(c&~a)'
010
001
$ json 'b||(c&~b)'
010
001
$ json 'b||(c&~c)'
010
000
$ json 'b||(~c&a)'
010
100
$ json 'b||(~c&~a)'
010
010
$ json 'b||(~c&~b)'
010
100
$ json 'b||(~c&c)'
010
000
$ json '~b||(a&~a)'
101
000
$ json '~b||(a&b)'
101
000
$ json '~b||(a&c)'
101
000
$ json '~b||(a&~c)'
101
100
$ json '~b||(~a&a)'
101
000
$ json '~b||(~a&b)'
101
010
$ json '~b||(~a&c)'
101
001
$ json '~b||(~a&~c)'
101
010
$ json '~b||(b&a)'
101
000
$ json '~b||(b&~a)'
101
010
$ json '~b||(b&c)'
101
000
$ json '~b||(b&~c)'
101
010
$ json '~b||(c&a)'
101
000
$ json '~b||(c&~a)'
101
001
$ json '~b||(c&b)'
101
000
$ json '~b||(c&~c)'
101
000
$ json '~b||(~c&a)'
101
100
$ json '~b||(~c&~a)'
101
010
$ json '~b||(~c&b)'
101
010
$ json '~b||(~c&c)'
101
000
$ json 'c||(a&~a)'
001
000
$ json 'c||(a&b)'
001
000
$ json 'c||(a&~b)'
001
100
$ json 'c||(a&~c)'
001
100
$ json 'c||(~a&a)'
001
000
$ json 'c||(~a&b)'
001
010
$ json 'c||(~a&~b)'
001
001
$ json 'c||(~a&~c)'
001
010
$ json 'c||(b&a)'
001
000
$ json 'c||(b&~a)'
001
010
$ json 'c||(b&~b)'
001
000
$ json 'c||(b&~c)'
001
010
$ json 'c||(~b&a)'
001
100
$ json 'c||(~b&~a)'
001
001
$ json 'c||(~b&b)'
001
000
$ json 'c||(~b&~c)'
001
100
$ json 'c||(~c&a)'
001
100
$ json 'c||(~c&~a)'
001
010
$ json 'c||(~c&b)'
001
010
$ json 'c||(~c&~b)'
001
100
$ json '~c||(a&~a)'
110
000
$ json '~c||(a&b)'
110
000
$ json '~c||(a&~b)'
110
100
$ json '~c||(a&c)'
110
000
$ json '~c||(~a&a)'
110
000
$ json '~c||(~a&b)'
110
010
$ json '~c||(~a&~b)'
110
001
$ json '~c||(~a&c)'
110
001
$ json '~c||(b&a)'
110
000
$ json '~c||(b&~a)'
110
010
$ json '~c||(b&~b)'
110
000
$ json '~c||(b&c)'
110
000
$ json '~c||(~b&a)'
110
100
$ json '~c||(~b&~a)'
110
001
$ json '~c||(~b&b)'
110
000
$ json '~c||(~b&c)'
110
001
$ json '~c||(c&a)'
110
000
$ json '~c||(c&~a)'
110
001
$ json '~c||(c&b)'
110
000
$ json '~c||(c&~b)'
110
001
$ json 'a||(~a|b)'
100
011
$ json 'a||(~a|~b)'
100
111
$ json 'a||(~a|c)'
100
011
$ json 'a||(~a|~c)'
100
111
$ json 'a||(b|~a)'
100
011
$ json 'a||(b|~b)'
100
111
$ json 'a||(b|c)'
100
011
$ json 'a||(b|~c)'
100
110
$ json 'a||(~b|~a)'
100
111
$ json 'a||(~b|b)'
100
111
$ json 'a||(~b|c)'
100
101
$ json 'a||(~b|~c)'
100
111
$ json 'a||(c|~a)'
100
011
$ json 'a||(c|b)'
100
011
$ json 'a||(c|~b)'
100
101
$ json 'a||(c|~c)'
100
111
$ json 'a||(~c|~a)'
100
111
$ json 'a||(~c|b)'
100
110
$ json 'a||(~c|~b)'
100
111
$ json 'a||(~c|c)'
100
111
$ json '~a||(a|b)'
011
110
$ json '~a||(a|~b)'
011
101
$ json '~a||(a|c)'
011
101
$ json '~a||(a|~c)'
011
110
$ json '~a||(b|a)'
011
110
$ json '~a||(b|~b)'
011
111
$ json '~a||(b|c)'
011
011
$ json '~a||(b|~c)'
011
110
$ json '~a||(~b|a)'
011
101
$ json '~a||(~b|b)'
011
111
$ json '~a||(~b|c)'
011
101
$ json '~a||(~b|~c)'
011
111
$ json '~a||(c|a)'
011
101
$ json '~a||(c|b)'
011
011
$ json '~a||(c|~b)'
011
101
$ json '~a||(c|~c)'
011
111
$ json '~a||(~c|a)'
011
110
$ json '~a||(~c|b)'
011
110
$ json '~a||(~c|~b)'
011
111
$ json '~a||(~c|c)'
011
111
$ json 'b||(a|~a)'
010
111
$ json 'b||(a|~b)'
010
101
$ json 'b||(a|c)'
010
101
$ json 'b||(a|~c)'
010
110
$ json 'b||(~a|a)'
010
111
$ json 'b||(~a|~b)'
010
111
$ json 'b||(~a|c)'
010
011
$ json 'b||(~a|~c)'
010
111
$ json 'b||(~b|a)'
010
101
$ json 'b||(~b|~a)'
010
111
$ json 'b||(~b|c)'
010
101
$ json 'b||(~b|~c)'
010
111
$ json 'b||(c|a)'
010
101
$ json 'b||(c|~a)'
010
011
$ json 'b||(c|~b)'
010
101
$ json 'b||(c|~c)'
010
111
$ json 'b||(~c|a)'
010
110
$ json 'b||(~c|~a)'
010
111
$ json 'b||(~c|~b)'
010
111
$ json 'b||(~c|c)'
010
111
$ json '~b||(a|~a)'
101
111
$ json '~b||(a|b)'
101
110
$ json '~b||(a|c)'
101
101
$ json '~b||(a|~c)'
101
110
$ json '~b||(~a|a)'
101
111
$ json '~b||(~a|b)'
101
011
$ json '~b||(~a|c)'
101
011
$ json '~b||(~a|~c)'
101
111
$ json '~b||(b|a)'
101
110
$ json '~b||(b|~a)'
101
011
$ json '~b||(b|c)'
101
011
$ json '~b||(b|~c)'
101
110
$ json '~b||(c|a)'
101
101
$ json '~b||(c|~a)'
101
011
$ json '~b||(c|b)'
101
011
$ json '~b||(c|~c)'
101
111
$ json '~b||(~c|a)'
101
110
$ json '~b||(~c|~a)'
101
111
$ json '~b||(~c|b)'
101
110
$ json '~b||(~c|c)'
101
111
$ json 'c||(a|~a)'
001
111
$ json 'c||(a|b)'
001
110
$ json 'c||(a|~b)'
001
101
$ json 'c||(a|~c)'
001
110
$ json 'c||(~a|a)'
001
111
$ json 'c||(~a|b)'
001
011
$ json 'c||(~a|~b)'
001
111
$ json 'c||(~a|~c)'
001
111
$ json 'c||(b|a)'
001
110
$ json 'c||(b|~a)'
001
011
$ json 'c||(b|~b)'
001
111
$ json 'c||(b|~c)'
001
110
$ json 'c||(~b|a)'
001
101
$ json 'c||(~b|~a)'
001
111
$ json 'c||(~b|b)'
001
111
$ json 'c||(~b|~c)'
001
111
$ json 'c||(~c|a)'
001
110
$ json 'c||(~c|~a)'
001
111
$ json 'c||(~c|b)'
001
110
$ json 'c||(~c|~b)'
001
111
$ json '~c||(a|~a)'
110
111
$ json '~c||(a|b)'
110
110
$ json '~c||(a|~b)'
110
101
$ json '~c||(a|c)'
110
101
$ json '~c||(~a|a)'
110
111
$ json '~c||(~a|b)'
110
011
$ json '~c||(~a|~b)'
110
111
$ json '~c||(~a|c)'
110
011
$ json '~c||(b|a)'
110
110
$ json '~c||(b|~a)'
110
011
$ json '~c||(b|~b)'
110
111
$ json '~c||(b|c)'
110
011
$ json '~c||(~b|a)'
110
101
$ json '~c||(~b|~a)'
110
111
$ json '~c||(~b|b)'
110
111
$ json '~c||(~b|c)'
110
101
$ json '~c||(c|a)'
110
101
$ json '~c||(c|~a)'
110
011
$ json '~c||(c|b)'
110
011
$ json '~c||(c|~b)'
110
101
$ json 'a||(~a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~a||b)'
$ json 'a||(~a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~a||~b)'
$ json 'a||(~a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~a||c)'
$ json 'a||(~a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~a||~c)'
$ json 'a||(b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a||(b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a||(b||~a)'
$ json 'a||(b||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a||(b||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a||(b||~b)'
$ json 'a||(b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a||(b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a||(b||c)'
$ json 'a||(b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a||(b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a||(b||~c)'
$ json 'a||(~b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~b||~a)'
$ json 'a||(~b||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~b||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~b||b)'
$ json 'a||(~b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~b||c)'
$ json 'a||(~b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~b||~c)'
$ json 'a||(c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a||(c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a||(c||~a)'
$ json 'a||(c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a||(c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a||(c||b)'
$ json 'a||(c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a||(c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a||(c||~b)'
$ json 'a||(c||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a||(c||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a||(c||~c)'
$ json 'a||(~c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~c||~a)'
$ json 'a||(~c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~c||b)'
$ json 'a||(~c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~c||~b)'
$ json 'a||(~c||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||(~c||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||(~c||c)'
$ json '~a||(a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(a||b)'
$ json '~a||(a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(a||~b)'
$ json '~a||(a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(a||c)'
$ json '~a||(a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(a||~c)'
$ json '~a||(b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(b||a)'
$ json '~a||(b||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(b||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(b||~b)'
$ json '~a||(b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(b||c)'
$ json '~a||(b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(b||~c)'
$ json '~a||(~b||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||(~b||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||(~b||a)'
$ json '~a||(~b||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||(~b||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||(~b||b)'
$ json '~a||(~b||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||(~b||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||(~b||c)'
$ json '~a||(~b||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||(~b||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||(~b||~c)'
$ json '~a||(c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(c||a)'
$ json '~a||(c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(c||b)'
$ json '~a||(c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(c||~b)'
$ json '~a||(c||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a||(c||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a||(c||~c)'
$ json '~a||(~c||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||(~c||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||(~c||a)'
$ json '~a||(~c||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||(~c||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||(~c||b)'
$ json '~a||(~c||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||(~c||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||(~c||~b)'
$ json '~a||(~c||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||(~c||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||(~c||c)'
$ json 'b||(a||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b||(a||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b||(a||~a)'
$ json 'b||(a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b||(a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b||(a||~b)'
$ json 'b||(a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b||(a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b||(a||c)'
$ json 'b||(a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b||(a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b||(a||~c)'
$ json 'b||(~a||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~a||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~a||a)'
$ json 'b||(~a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~a||~b)'
$ json 'b||(~a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~a||c)'
$ json 'b||(~a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~a||~c)'
$ json 'b||(~b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~b||a)'
$ json 'b||(~b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~b||~a)'
$ json 'b||(~b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~b||c)'
$ json 'b||(~b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~b||~c)'
$ json 'b||(c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b||(c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b||(c||a)'
$ json 'b||(c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b||(c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b||(c||~a)'
$ json 'b||(c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b||(c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b||(c||~b)'
$ json 'b||(c||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b||(c||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b||(c||~c)'
$ json 'b||(~c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~c||a)'
$ json 'b||(~c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~c||~a)'
$ json 'b||(~c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~c||~b)'
$ json 'b||(~c||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||(~c||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||(~c||c)'
$ json '~b||(a||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(a||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(a||~a)'
$ json '~b||(a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(a||b)'
$ json '~b||(a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(a||c)'
$ json '~b||(a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(a||~c)'
$ json '~b||(~a||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||(~a||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||(~a||a)'
$ json '~b||(~a||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||(~a||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||(~a||b)'
$ json '~b||(~a||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||(~a||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||(~a||c)'
$ json '~b||(~a||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||(~a||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||(~a||~c)'
$ json '~b||(b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(b||a)'
$ json '~b||(b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(b||~a)'
$ json '~b||(b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(b||c)'
$ json '~b||(b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(b||~c)'
$ json '~b||(c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(c||a)'
$ json '~b||(c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(c||~a)'
$ json '~b||(c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(c||b)'
$ json '~b||(c||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b||(c||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b||(c||~c)'
$ json '~b||(~c||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||(~c||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||(~c||a)'
$ json '~b||(~c||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||(~c||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||(~c||~a)'
$ json '~b||(~c||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||(~c||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||(~c||b)'
$ json '~b||(~c||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||(~c||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||(~c||c)'
$ json 'c||(a||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c||(a||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c||(a||~a)'
$ json 'c||(a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c||(a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c||(a||b)'
$ json 'c||(a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c||(a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c||(a||~b)'
$ json 'c||(a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c||(a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c||(a||~c)'
$ json 'c||(~a||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~a||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~a||a)'
$ json 'c||(~a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~a||b)'
$ json 'c||(~a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~a||~b)'
$ json 'c||(~a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~a||~c)'
$ json 'c||(b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c||(b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c||(b||a)'
$ json 'c||(b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c||(b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c||(b||~a)'
$ json 'c||(b||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c||(b||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c||(b||~b)'
$ json 'c||(b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c||(b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c||(b||~c)'
$ json 'c||(~b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~b||a)'
$ json 'c||(~b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~b||~a)'
$ json 'c||(~b||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~b||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~b||b)'
$ json 'c||(~b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~b||~c)'
$ json 'c||(~c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~c||a)'
$ json 'c||(~c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~c||~a)'
$ json 'c||(~c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~c||b)'
$ json 'c||(~c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||(~c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||(~c||~b)'
$ json '~c||(a||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(a||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(a||~a)'
$ json '~c||(a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(a||b)'
$ json '~c||(a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(a||~b)'
$ json '~c||(a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(a||c)'
$ json '~c||(~a||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||(~a||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||(~a||a)'
$ json '~c||(~a||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||(~a||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||(~a||b)'
$ json '~c||(~a||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||(~a||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||(~a||~b)'
$ json '~c||(~a||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||(~a||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||(~a||c)'
$ json '~c||(b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(b||a)'
$ json '~c||(b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(b||~a)'
$ json '~c||(b||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(b||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(b||~b)'
$ json '~c||(b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(b||c)'
$ json '~c||(~b||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||(~b||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||(~b||a)'
$ json '~c||(~b||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||(~b||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||(~b||~a)'
$ json '~c||(~b||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||(~b||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||(~b||b)'
$ json '~c||(~b||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||(~b||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||(~b||c)'
$ json '~c||(c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(c||a)'
$ json '~c||(c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(c||~a)'
$ json '~c||(c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(c||b)'
$ json '~c||(c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c||(c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c||(c||~b)'
$ 
 
--[ dict-expr-keys5 ]-----------------------------------------------------------

$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V -TA <<< '{"type":"dict","args":[{"name":"a","type":"number"},{"name":"b","type":"number"},{"name":"c","type":"number"}],"expr":'$'\n"'"$1"'"}'|LD_LIBRARY_PATH=../lib ../src/json -J --no-error|sed -nr 's|^/attr/expr/bits=||p'; }
#
# # meta command:
# $ for o1 in '&' '|' '||'; do for o2 in '&' '|' '||'; do for x in a '~a' b '~b' c '~c'; do for y in a '~a' b '~b' c '~c'; do for z in a '~a' b '~b' c '~c'; do [ "$x" == "$y" -o "$y" == "$z" -o "$z" == "$x" ] && continue; c="json '$x$o1~($y$o2$z)'"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done; done; done; done; done
#
$ json 'a&~(~a&b)'
100
$ json 'a&~(~a&~b)'
100
$ json 'a&~(~a&c)'
100
$ json 'a&~(~a&~c)'
100
$ json 'a&~(b&~a)'
100
$ json 'a&~(b&~b)'
100
$ json 'a&~(b&c)'
100
$ json 'a&~(b&~c)'
100
$ json 'a&~(~b&~a)'
100
$ json 'a&~(~b&b)'
100
$ json 'a&~(~b&c)'
100
$ json 'a&~(~b&~c)'
000
$ json 'a&~(c&~a)'
100
$ json 'a&~(c&b)'
100
$ json 'a&~(c&~b)'
100
$ json 'a&~(c&~c)'
100
$ json 'a&~(~c&~a)'
100
$ json 'a&~(~c&b)'
100
$ json 'a&~(~c&~b)'
000
$ json 'a&~(~c&c)'
100
$ json '~a&~(a&b)'
011
$ json '~a&~(a&~b)'
011
$ json '~a&~(a&c)'
011
$ json '~a&~(a&~c)'
011
$ json '~a&~(b&a)'
011
$ json '~a&~(b&~b)'
011
$ json '~a&~(b&c)'
011
$ json '~a&~(b&~c)'
001
$ json '~a&~(~b&a)'
011
$ json '~a&~(~b&b)'
011
$ json '~a&~(~b&c)'
010
$ json '~a&~(~b&~c)'
011
$ json '~a&~(c&a)'
011
$ json '~a&~(c&b)'
011
$ json '~a&~(c&~b)'
010
$ json '~a&~(c&~c)'
011
$ json '~a&~(~c&a)'
011
$ json '~a&~(~c&b)'
001
$ json '~a&~(~c&~b)'
011
$ json '~a&~(~c&c)'
011
$ json 'b&~(a&~a)'
010
$ json 'b&~(a&~b)'
010
$ json 'b&~(a&c)'
010
$ json 'b&~(a&~c)'
010
$ json 'b&~(~a&a)'
010
$ json 'b&~(~a&~b)'
010
$ json 'b&~(~a&c)'
010
$ json 'b&~(~a&~c)'
000
$ json 'b&~(~b&a)'
010
$ json 'b&~(~b&~a)'
010
$ json 'b&~(~b&c)'
010
$ json 'b&~(~b&~c)'
010
$ json 'b&~(c&a)'
010
$ json 'b&~(c&~a)'
010
$ json 'b&~(c&~b)'
010
$ json 'b&~(c&~c)'
010
$ json 'b&~(~c&a)'
010
$ json 'b&~(~c&~a)'
000
$ json 'b&~(~c&~b)'
010
$ json 'b&~(~c&c)'
010
$ json '~b&~(a&~a)'
101
$ json '~b&~(a&b)'
101
$ json '~b&~(a&c)'
101
$ json '~b&~(a&~c)'
001
$ json '~b&~(~a&a)'
101
$ json '~b&~(~a&b)'
101
$ json '~b&~(~a&c)'
100
$ json '~b&~(~a&~c)'
101
$ json '~b&~(b&a)'
101
$ json '~b&~(b&~a)'
101
$ json '~b&~(b&c)'
101
$ json '~b&~(b&~c)'
101
$ json '~b&~(c&a)'
101
$ json '~b&~(c&~a)'
100
$ json '~b&~(c&b)'
101
$ json '~b&~(c&~c)'
101
$ json '~b&~(~c&a)'
001
$ json '~b&~(~c&~a)'
101
$ json '~b&~(~c&b)'
101
$ json '~b&~(~c&c)'
101
$ json 'c&~(a&~a)'
001
$ json 'c&~(a&b)'
001
$ json 'c&~(a&~b)'
001
$ json 'c&~(a&~c)'
001
$ json 'c&~(~a&a)'
001
$ json 'c&~(~a&b)'
001
$ json 'c&~(~a&~b)'
000
$ json 'c&~(~a&~c)'
001
$ json 'c&~(b&a)'
001
$ json 'c&~(b&~a)'
001
$ json 'c&~(b&~b)'
001
$ json 'c&~(b&~c)'
001
$ json 'c&~(~b&a)'
001
$ json 'c&~(~b&~a)'
000
$ json 'c&~(~b&b)'
001
$ json 'c&~(~b&~c)'
001
$ json 'c&~(~c&a)'
001
$ json 'c&~(~c&~a)'
001
$ json 'c&~(~c&b)'
001
$ json 'c&~(~c&~b)'
001
$ json '~c&~(a&~a)'
110
$ json '~c&~(a&b)'
110
$ json '~c&~(a&~b)'
010
$ json '~c&~(a&c)'
110
$ json '~c&~(~a&a)'
110
$ json '~c&~(~a&b)'
100
$ json '~c&~(~a&~b)'
110
$ json '~c&~(~a&c)'
110
$ json '~c&~(b&a)'
110
$ json '~c&~(b&~a)'
100
$ json '~c&~(b&~b)'
110
$ json '~c&~(b&c)'
110
$ json '~c&~(~b&a)'
010
$ json '~c&~(~b&~a)'
110
$ json '~c&~(~b&b)'
110
$ json '~c&~(~b&c)'
110
$ json '~c&~(c&a)'
110
$ json '~c&~(c&~a)'
110
$ json '~c&~(c&b)'
110
$ json '~c&~(c&~b)'
110
$ json 'a&~(~a|b)'
100
$ json 'a&~(~a|~b)'
000
$ json 'a&~(~a|c)'
100
$ json 'a&~(~a|~c)'
000
$ json 'a&~(b|~a)'
100
$ json 'a&~(b|~b)'
000
$ json 'a&~(b|c)'
100
$ json 'a&~(b|~c)'
000
$ json 'a&~(~b|~a)'
000
$ json 'a&~(~b|b)'
000
$ json 'a&~(~b|c)'
000
$ json 'a&~(~b|~c)'
000
$ json 'a&~(c|~a)'
100
$ json 'a&~(c|b)'
100
$ json 'a&~(c|~b)'
000
$ json 'a&~(c|~c)'
000
$ json 'a&~(~c|~a)'
000
$ json 'a&~(~c|b)'
000
$ json 'a&~(~c|~b)'
000
$ json 'a&~(~c|c)'
000
$ json '~a&~(a|b)'
001
$ json '~a&~(a|~b)'
010
$ json '~a&~(a|c)'
010
$ json '~a&~(a|~c)'
001
$ json '~a&~(b|a)'
001
$ json '~a&~(b|~b)'
000
$ json '~a&~(b|c)'
000
$ json '~a&~(b|~c)'
001
$ json '~a&~(~b|a)'
010
$ json '~a&~(~b|b)'
000
$ json '~a&~(~b|c)'
010
$ json '~a&~(~b|~c)'
000
$ json '~a&~(c|a)'
010
$ json '~a&~(c|b)'
000
$ json '~a&~(c|~b)'
010
$ json '~a&~(c|~c)'
000
$ json '~a&~(~c|a)'
001
$ json '~a&~(~c|b)'
001
$ json '~a&~(~c|~b)'
000
$ json '~a&~(~c|c)'
000
$ json 'b&~(a|~a)'
000
$ json 'b&~(a|~b)'
010
$ json 'b&~(a|c)'
010
$ json 'b&~(a|~c)'
000
$ json 'b&~(~a|a)'
000
$ json 'b&~(~a|~b)'
000
$ json 'b&~(~a|c)'
000
$ json 'b&~(~a|~c)'
000
$ json 'b&~(~b|a)'
010
$ json 'b&~(~b|~a)'
000
$ json 'b&~(~b|c)'
010
$ json 'b&~(~b|~c)'
000
$ json 'b&~(c|a)'
010
$ json 'b&~(c|~a)'
000
$ json 'b&~(c|~b)'
010
$ json 'b&~(c|~c)'
000
$ json 'b&~(~c|a)'
000
$ json 'b&~(~c|~a)'
000
$ json 'b&~(~c|~b)'
000
$ json 'b&~(~c|c)'
000
$ json '~b&~(a|~a)'
000
$ json '~b&~(a|b)'
001
$ json '~b&~(a|c)'
000
$ json '~b&~(a|~c)'
001
$ json '~b&~(~a|a)'
000
$ json '~b&~(~a|b)'
100
$ json '~b&~(~a|c)'
100
$ json '~b&~(~a|~c)'
000
$ json '~b&~(b|a)'
001
$ json '~b&~(b|~a)'
100
$ json '~b&~(b|c)'
100
$ json '~b&~(b|~c)'
001
$ json '~b&~(c|a)'
000
$ json '~b&~(c|~a)'
100
$ json '~b&~(c|b)'
100
$ json '~b&~(c|~c)'
000
$ json '~b&~(~c|a)'
001
$ json '~b&~(~c|~a)'
000
$ json '~b&~(~c|b)'
001
$ json '~b&~(~c|c)'
000
$ json 'c&~(a|~a)'
000
$ json 'c&~(a|b)'
001
$ json 'c&~(a|~b)'
000
$ json 'c&~(a|~c)'
001
$ json 'c&~(~a|a)'
000
$ json 'c&~(~a|b)'
000
$ json 'c&~(~a|~b)'
000
$ json 'c&~(~a|~c)'
000
$ json 'c&~(b|a)'
001
$ json 'c&~(b|~a)'
000
$ json 'c&~(b|~b)'
000
$ json 'c&~(b|~c)'
001
$ json 'c&~(~b|a)'
000
$ json 'c&~(~b|~a)'
000
$ json 'c&~(~b|b)'
000
$ json 'c&~(~b|~c)'
000
$ json 'c&~(~c|a)'
001
$ json 'c&~(~c|~a)'
000
$ json 'c&~(~c|b)'
001
$ json 'c&~(~c|~b)'
000
$ json '~c&~(a|~a)'
000
$ json '~c&~(a|b)'
000
$ json '~c&~(a|~b)'
010
$ json '~c&~(a|c)'
010
$ json '~c&~(~a|a)'
000
$ json '~c&~(~a|b)'
100
$ json '~c&~(~a|~b)'
000
$ json '~c&~(~a|c)'
100
$ json '~c&~(b|a)'
000
$ json '~c&~(b|~a)'
100
$ json '~c&~(b|~b)'
000
$ json '~c&~(b|c)'
100
$ json '~c&~(~b|a)'
010
$ json '~c&~(~b|~a)'
000
$ json '~c&~(~b|b)'
000
$ json '~c&~(~b|c)'
010
$ json '~c&~(c|a)'
010
$ json '~c&~(c|~a)'
100
$ json '~c&~(c|b)'
100
$ json '~c&~(c|~b)'
010
$ json 'a&~(~a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~a||b)'
$ json 'a&~(~a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~a||~b)'
$ json 'a&~(~a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~a||c)'
$ json 'a&~(~a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~a||~c)'
$ json 'a&~(b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&~(b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&~(b||~a)'
$ json 'a&~(b||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&~(b||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&~(b||~b)'
$ json 'a&~(b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&~(b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&~(b||c)'
$ json 'a&~(b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&~(b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&~(b||~c)'
$ json 'a&~(~b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~b||~a)'
$ json 'a&~(~b||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~b||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~b||b)'
$ json 'a&~(~b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~b||c)'
$ json 'a&~(~b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~b||~c)'
$ json 'a&~(c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&~(c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&~(c||~a)'
$ json 'a&~(c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&~(c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&~(c||b)'
$ json 'a&~(c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&~(c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&~(c||~b)'
$ json 'a&~(c||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a&~(c||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a&~(c||~c)'
$ json 'a&~(~c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~c||~a)'
$ json 'a&~(~c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~c||b)'
$ json 'a&~(~c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~c||~b)'
$ json 'a&~(~c||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a&~(~c||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a&~(~c||c)'
$ json '~a&~(a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(a||b)'
$ json '~a&~(a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(a||~b)'
$ json '~a&~(a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(a||c)'
$ json '~a&~(a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(a||~c)'
$ json '~a&~(b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(b||a)'
$ json '~a&~(b||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(b||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(b||~b)'
$ json '~a&~(b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(b||c)'
$ json '~a&~(b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(b||~c)'
$ json '~a&~(~b||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a&~(~b||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a&~(~b||a)'
$ json '~a&~(~b||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a&~(~b||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a&~(~b||b)'
$ json '~a&~(~b||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a&~(~b||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a&~(~b||c)'
$ json '~a&~(~b||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a&~(~b||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a&~(~b||~c)'
$ json '~a&~(c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(c||a)'
$ json '~a&~(c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(c||b)'
$ json '~a&~(c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(c||~b)'
$ json '~a&~(c||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a&~(c||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a&~(c||~c)'
$ json '~a&~(~c||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a&~(~c||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a&~(~c||a)'
$ json '~a&~(~c||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a&~(~c||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a&~(~c||b)'
$ json '~a&~(~c||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a&~(~c||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a&~(~c||~b)'
$ json '~a&~(~c||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a&~(~c||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a&~(~c||c)'
$ json 'b&~(a||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&~(a||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&~(a||~a)'
$ json 'b&~(a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&~(a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&~(a||~b)'
$ json 'b&~(a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&~(a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&~(a||c)'
$ json 'b&~(a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&~(a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&~(a||~c)'
$ json 'b&~(~a||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~a||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~a||a)'
$ json 'b&~(~a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~a||~b)'
$ json 'b&~(~a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~a||c)'
$ json 'b&~(~a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~a||~c)'
$ json 'b&~(~b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~b||a)'
$ json 'b&~(~b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~b||~a)'
$ json 'b&~(~b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~b||c)'
$ json 'b&~(~b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~b||~c)'
$ json 'b&~(c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&~(c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&~(c||a)'
$ json 'b&~(c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&~(c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&~(c||~a)'
$ json 'b&~(c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&~(c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&~(c||~b)'
$ json 'b&~(c||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b&~(c||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b&~(c||~c)'
$ json 'b&~(~c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~c||a)'
$ json 'b&~(~c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~c||~a)'
$ json 'b&~(~c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~c||~b)'
$ json 'b&~(~c||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b&~(~c||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b&~(~c||c)'
$ json '~b&~(a||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(a||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(a||~a)'
$ json '~b&~(a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(a||b)'
$ json '~b&~(a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(a||c)'
$ json '~b&~(a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(a||~c)'
$ json '~b&~(~a||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b&~(~a||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b&~(~a||a)'
$ json '~b&~(~a||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b&~(~a||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b&~(~a||b)'
$ json '~b&~(~a||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b&~(~a||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b&~(~a||c)'
$ json '~b&~(~a||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b&~(~a||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b&~(~a||~c)'
$ json '~b&~(b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(b||a)'
$ json '~b&~(b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(b||~a)'
$ json '~b&~(b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(b||c)'
$ json '~b&~(b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(b||~c)'
$ json '~b&~(c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(c||a)'
$ json '~b&~(c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(c||~a)'
$ json '~b&~(c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(c||b)'
$ json '~b&~(c||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b&~(c||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b&~(c||~c)'
$ json '~b&~(~c||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b&~(~c||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b&~(~c||a)'
$ json '~b&~(~c||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b&~(~c||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b&~(~c||~a)'
$ json '~b&~(~c||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b&~(~c||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b&~(~c||b)'
$ json '~b&~(~c||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b&~(~c||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b&~(~c||c)'
$ json 'c&~(a||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&~(a||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&~(a||~a)'
$ json 'c&~(a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&~(a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&~(a||b)'
$ json 'c&~(a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&~(a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&~(a||~b)'
$ json 'c&~(a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&~(a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&~(a||~c)'
$ json 'c&~(~a||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~a||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~a||a)'
$ json 'c&~(~a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~a||b)'
$ json 'c&~(~a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~a||~b)'
$ json 'c&~(~a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~a||~c)'
$ json 'c&~(b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&~(b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&~(b||a)'
$ json 'c&~(b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&~(b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&~(b||~a)'
$ json 'c&~(b||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&~(b||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&~(b||~b)'
$ json 'c&~(b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c&~(b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c&~(b||~c)'
$ json 'c&~(~b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~b||a)'
$ json 'c&~(~b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~b||~a)'
$ json 'c&~(~b||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~b||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~b||b)'
$ json 'c&~(~b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~b||~c)'
$ json 'c&~(~c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~c||a)'
$ json 'c&~(~c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~c||~a)'
$ json 'c&~(~c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~c||b)'
$ json 'c&~(~c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c&~(~c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c&~(~c||~b)'
$ json '~c&~(a||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(a||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(a||~a)'
$ json '~c&~(a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(a||b)'
$ json '~c&~(a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(a||~b)'
$ json '~c&~(a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(a||c)'
$ json '~c&~(~a||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c&~(~a||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c&~(~a||a)'
$ json '~c&~(~a||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c&~(~a||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c&~(~a||b)'
$ json '~c&~(~a||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c&~(~a||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c&~(~a||~b)'
$ json '~c&~(~a||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c&~(~a||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c&~(~a||c)'
$ json '~c&~(b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(b||a)'
$ json '~c&~(b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(b||~a)'
$ json '~c&~(b||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(b||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(b||~b)'
$ json '~c&~(b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(b||c)'
$ json '~c&~(~b||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c&~(~b||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c&~(~b||a)'
$ json '~c&~(~b||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c&~(~b||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c&~(~b||~a)'
$ json '~c&~(~b||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c&~(~b||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c&~(~b||b)'
$ json '~c&~(~b||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c&~(~b||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c&~(~b||c)'
$ json '~c&~(c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(c||a)'
$ json '~c&~(c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(c||~a)'
$ json '~c&~(c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(c||b)'
$ json '~c&~(c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c&~(c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c&~(c||~b)'
$ json 'a|~(~a&b)'
101
$ json 'a|~(~a&~b)'
110
$ json 'a|~(~a&c)'
110
$ json 'a|~(~a&~c)'
101
$ json 'a|~(b&~a)'
101
$ json 'a|~(b&~b)'
111
$ json 'a|~(b&c)'
111
$ json 'a|~(b&~c)'
101
$ json 'a|~(~b&~a)'
110
$ json 'a|~(~b&b)'
111
$ json 'a|~(~b&c)'
110
$ json 'a|~(~b&~c)'
111
$ json 'a|~(c&~a)'
110
$ json 'a|~(c&b)'
111
$ json 'a|~(c&~b)'
110
$ json 'a|~(c&~c)'
111
$ json 'a|~(~c&~a)'
101
$ json 'a|~(~c&b)'
101
$ json 'a|~(~c&~b)'
111
$ json 'a|~(~c&c)'
111
$ json '~a|~(a&b)'
111
$ json '~a|~(a&~b)'
011
$ json '~a|~(a&c)'
111
$ json '~a|~(a&~c)'
011
$ json '~a|~(b&a)'
111
$ json '~a|~(b&~b)'
111
$ json '~a|~(b&c)'
111
$ json '~a|~(b&~c)'
111
$ json '~a|~(~b&a)'
011
$ json '~a|~(~b&b)'
111
$ json '~a|~(~b&c)'
111
$ json '~a|~(~b&~c)'
011
$ json '~a|~(c&a)'
111
$ json '~a|~(c&b)'
111
$ json '~a|~(c&~b)'
111
$ json '~a|~(c&~c)'
111
$ json '~a|~(~c&a)'
011
$ json '~a|~(~c&b)'
111
$ json '~a|~(~c&~b)'
011
$ json '~a|~(~c&c)'
111
$ json 'b|~(a&~a)'
111
$ json 'b|~(a&~b)'
011
$ json 'b|~(a&c)'
111
$ json 'b|~(a&~c)'
011
$ json 'b|~(~a&a)'
111
$ json 'b|~(~a&~b)'
110
$ json 'b|~(~a&c)'
110
$ json 'b|~(~a&~c)'
111
$ json 'b|~(~b&a)'
011
$ json 'b|~(~b&~a)'
110
$ json 'b|~(~b&c)'
110
$ json 'b|~(~b&~c)'
011
$ json 'b|~(c&a)'
111
$ json 'b|~(c&~a)'
110
$ json 'b|~(c&~b)'
110
$ json 'b|~(c&~c)'
111
$ json 'b|~(~c&a)'
011
$ json 'b|~(~c&~a)'
111
$ json 'b|~(~c&~b)'
011
$ json 'b|~(~c&c)'
111
$ json '~b|~(a&~a)'
111
$ json '~b|~(a&b)'
111
$ json '~b|~(a&c)'
111
$ json '~b|~(a&~c)'
111
$ json '~b|~(~a&a)'
111
$ json '~b|~(~a&b)'
101
$ json '~b|~(~a&c)'
111
$ json '~b|~(~a&~c)'
101
$ json '~b|~(b&a)'
111
$ json '~b|~(b&~a)'
101
$ json '~b|~(b&c)'
111
$ json '~b|~(b&~c)'
101
$ json '~b|~(c&a)'
111
$ json '~b|~(c&~a)'
111
$ json '~b|~(c&b)'
111
$ json '~b|~(c&~c)'
111
$ json '~b|~(~c&a)'
111
$ json '~b|~(~c&~a)'
101
$ json '~b|~(~c&b)'
101
$ json '~b|~(~c&c)'
111
$ json 'c|~(a&~a)'
111
$ json 'c|~(a&b)'
111
$ json 'c|~(a&~b)'
011
$ json 'c|~(a&~c)'
011
$ json 'c|~(~a&a)'
111
$ json 'c|~(~a&b)'
101
$ json 'c|~(~a&~b)'
111
$ json 'c|~(~a&~c)'
101
$ json 'c|~(b&a)'
111
$ json 'c|~(b&~a)'
101
$ json 'c|~(b&~b)'
111
$ json 'c|~(b&~c)'
101
$ json 'c|~(~b&a)'
011
$ json 'c|~(~b&~a)'
111
$ json 'c|~(~b&b)'
111
$ json 'c|~(~b&~c)'
011
$ json 'c|~(~c&a)'
011
$ json 'c|~(~c&~a)'
101
$ json 'c|~(~c&b)'
101
$ json 'c|~(~c&~b)'
011
$ json '~c|~(a&~a)'
111
$ json '~c|~(a&b)'
111
$ json '~c|~(a&~b)'
111
$ json '~c|~(a&c)'
111
$ json '~c|~(~a&a)'
111
$ json '~c|~(~a&b)'
111
$ json '~c|~(~a&~b)'
110
$ json '~c|~(~a&c)'
110
$ json '~c|~(b&a)'
111
$ json '~c|~(b&~a)'
111
$ json '~c|~(b&~b)'
111
$ json '~c|~(b&c)'
111
$ json '~c|~(~b&a)'
111
$ json '~c|~(~b&~a)'
110
$ json '~c|~(~b&b)'
111
$ json '~c|~(~b&c)'
110
$ json '~c|~(c&a)'
111
$ json '~c|~(c&~a)'
110
$ json '~c|~(c&b)'
111
$ json '~c|~(c&~b)'
110
$ json 'a|~(~a|b)'
100
$ json 'a|~(~a|~b)'
100
$ json 'a|~(~a|c)'
100
$ json 'a|~(~a|~c)'
100
$ json 'a|~(b|~a)'
100
$ json 'a|~(b|~b)'
100
$ json 'a|~(b|c)'
100
$ json 'a|~(b|~c)'
101
$ json 'a|~(~b|~a)'
100
$ json 'a|~(~b|b)'
100
$ json 'a|~(~b|c)'
110
$ json 'a|~(~b|~c)'
100
$ json 'a|~(c|~a)'
100
$ json 'a|~(c|b)'
100
$ json 'a|~(c|~b)'
110
$ json 'a|~(c|~c)'
100
$ json 'a|~(~c|~a)'
100
$ json 'a|~(~c|b)'
101
$ json 'a|~(~c|~b)'
100
$ json 'a|~(~c|c)'
100
$ json '~a|~(a|b)'
011
$ json '~a|~(a|~b)'
011
$ json '~a|~(a|c)'
011
$ json '~a|~(a|~c)'
011
$ json '~a|~(b|a)'
011
$ json '~a|~(b|~b)'
011
$ json '~a|~(b|c)'
111
$ json '~a|~(b|~c)'
011
$ json '~a|~(~b|a)'
011
$ json '~a|~(~b|b)'
011
$ json '~a|~(~b|c)'
011
$ json '~a|~(~b|~c)'
011
$ json '~a|~(c|a)'
011
$ json '~a|~(c|b)'
111
$ json '~a|~(c|~b)'
011
$ json '~a|~(c|~c)'
011
$ json '~a|~(~c|a)'
011
$ json '~a|~(~c|b)'
011
$ json '~a|~(~c|~b)'
011
$ json '~a|~(~c|c)'
011
$ json 'b|~(a|~a)'
010
$ json 'b|~(a|~b)'
010
$ json 'b|~(a|c)'
010
$ json 'b|~(a|~c)'
011
$ json 'b|~(~a|a)'
010
$ json 'b|~(~a|~b)'
010
$ json 'b|~(~a|c)'
110
$ json 'b|~(~a|~c)'
010
$ json 'b|~(~b|a)'
010
$ json 'b|~(~b|~a)'
010
$ json 'b|~(~b|c)'
010
$ json 'b|~(~b|~c)'
010
$ json 'b|~(c|a)'
010
$ json 'b|~(c|~a)'
110
$ json 'b|~(c|~b)'
010
$ json 'b|~(c|~c)'
010
$ json 'b|~(~c|a)'
011
$ json 'b|~(~c|~a)'
010
$ json 'b|~(~c|~b)'
010
$ json 'b|~(~c|c)'
010
$ json '~b|~(a|~a)'
101
$ json '~b|~(a|b)'
101
$ json '~b|~(a|c)'
111
$ json '~b|~(a|~c)'
101
$ json '~b|~(~a|a)'
101
$ json '~b|~(~a|b)'
101
$ json '~b|~(~a|c)'
101
$ json '~b|~(~a|~c)'
101
$ json '~b|~(b|a)'
101
$ json '~b|~(b|~a)'
101
$ json '~b|~(b|c)'
101
$ json '~b|~(b|~c)'
101
$ json '~b|~(c|a)'
111
$ json '~b|~(c|~a)'
101
$ json '~b|~(c|b)'
101
$ json '~b|~(c|~c)'
101
$ json '~b|~(~c|a)'
101
$ json '~b|~(~c|~a)'
101
$ json '~b|~(~c|b)'
101
$ json '~b|~(~c|c)'
101
$ json 'c|~(a|~a)'
001
$ json 'c|~(a|b)'
001
$ json 'c|~(a|~b)'
011
$ json 'c|~(a|~c)'
001
$ json 'c|~(~a|a)'
001
$ json 'c|~(~a|b)'
101
$ json 'c|~(~a|~b)'
001
$ json 'c|~(~a|~c)'
001
$ json 'c|~(b|a)'
001
$ json 'c|~(b|~a)'
101
$ json 'c|~(b|~b)'
001
$ json 'c|~(b|~c)'
001
$ json 'c|~(~b|a)'
011
$ json 'c|~(~b|~a)'
001
$ json 'c|~(~b|b)'
001
$ json 'c|~(~b|~c)'
001
$ json 'c|~(~c|a)'
001
$ json 'c|~(~c|~a)'
001
$ json 'c|~(~c|b)'
001
$ json 'c|~(~c|~b)'
001
$ json '~c|~(a|~a)'
110
$ json '~c|~(a|b)'
111
$ json '~c|~(a|~b)'
110
$ json '~c|~(a|c)'
110
$ json '~c|~(~a|a)'
110
$ json '~c|~(~a|b)'
110
$ json '~c|~(~a|~b)'
110
$ json '~c|~(~a|c)'
110
$ json '~c|~(b|a)'
111
$ json '~c|~(b|~a)'
110
$ json '~c|~(b|~b)'
110
$ json '~c|~(b|c)'
110
$ json '~c|~(~b|a)'
110
$ json '~c|~(~b|~a)'
110
$ json '~c|~(~b|b)'
110
$ json '~c|~(~b|c)'
110
$ json '~c|~(c|a)'
110
$ json '~c|~(c|~a)'
110
$ json '~c|~(c|b)'
110
$ json '~c|~(c|~b)'
110
$ json 'a|~(~a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~a||b)'
$ json 'a|~(~a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~a||~b)'
$ json 'a|~(~a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~a||c)'
$ json 'a|~(~a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~a||~c)'
$ json 'a|~(b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|~(b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|~(b||~a)'
$ json 'a|~(b||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|~(b||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|~(b||~b)'
$ json 'a|~(b||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|~(b||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|~(b||c)'
$ json 'a|~(b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|~(b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|~(b||~c)'
$ json 'a|~(~b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~b||~a)'
$ json 'a|~(~b||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~b||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~b||b)'
$ json 'a|~(~b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~b||c)'
$ json 'a|~(~b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~b||~c)'
$ json 'a|~(c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|~(c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|~(c||~a)'
$ json 'a|~(c||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|~(c||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|~(c||b)'
$ json 'a|~(c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|~(c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|~(c||~b)'
$ json 'a|~(c||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"a|~(c||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'a|~(c||~c)'
$ json 'a|~(~c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~c||~a)'
$ json 'a|~(~c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~c||b)'
$ json 'a|~(~c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~c||~b)'
$ json 'a|~(~c||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a|~(~c||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a|~(~c||c)'
$ json '~a|~(a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(a||b)'
$ json '~a|~(a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(a||~b)'
$ json '~a|~(a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(a||c)'
$ json '~a|~(a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(a||~c)'
$ json '~a|~(b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(b||a)'
$ json '~a|~(b||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(b||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(b||~b)'
$ json '~a|~(b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(b||c)'
$ json '~a|~(b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(b||~c)'
$ json '~a|~(~b||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a|~(~b||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a|~(~b||a)'
$ json '~a|~(~b||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a|~(~b||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a|~(~b||b)'
$ json '~a|~(~b||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a|~(~b||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a|~(~b||c)'
$ json '~a|~(~b||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a|~(~b||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a|~(~b||~c)'
$ json '~a|~(c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(c||a)'
$ json '~a|~(c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(c||b)'
$ json '~a|~(c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(c||~b)'
$ json '~a|~(c||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~a|~(c||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~a|~(c||~c)'
$ json '~a|~(~c||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a|~(~c||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a|~(~c||a)'
$ json '~a|~(~c||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a|~(~c||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a|~(~c||b)'
$ json '~a|~(~c||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a|~(~c||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a|~(~c||~b)'
$ json '~a|~(~c||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a|~(~c||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a|~(~c||c)'
$ json 'b|~(a||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|~(a||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|~(a||~a)'
$ json 'b|~(a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|~(a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|~(a||~b)'
$ json 'b|~(a||c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|~(a||c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|~(a||c)'
$ json 'b|~(a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|~(a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|~(a||~c)'
$ json 'b|~(~a||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~a||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~a||a)'
$ json 'b|~(~a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~a||~b)'
$ json 'b|~(~a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~a||c)'
$ json 'b|~(~a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~a||~c)'
$ json 'b|~(~b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~b||a)'
$ json 'b|~(~b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~b||~a)'
$ json 'b|~(~b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~b||c)'
$ json 'b|~(~b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~b||~c)'
$ json 'b|~(c||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|~(c||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|~(c||a)'
$ json 'b|~(c||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|~(c||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|~(c||~a)'
$ json 'b|~(c||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|~(c||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|~(c||~b)'
$ json 'b|~(c||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"b|~(c||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'b|~(c||~c)'
$ json 'b|~(~c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~c||a)'
$ json 'b|~(~c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~c||~a)'
$ json 'b|~(~c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~c||~b)'
$ json 'b|~(~c||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b|~(~c||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b|~(~c||c)'
$ json '~b|~(a||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(a||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(a||~a)'
$ json '~b|~(a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(a||b)'
$ json '~b|~(a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(a||c)'
$ json '~b|~(a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(a||~c)'
$ json '~b|~(~a||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b|~(~a||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b|~(~a||a)'
$ json '~b|~(~a||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b|~(~a||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b|~(~a||b)'
$ json '~b|~(~a||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b|~(~a||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b|~(~a||c)'
$ json '~b|~(~a||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b|~(~a||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b|~(~a||~c)'
$ json '~b|~(b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(b||a)'
$ json '~b|~(b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(b||~a)'
$ json '~b|~(b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(b||c)'
$ json '~b|~(b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(b||~c)'
$ json '~b|~(c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(c||a)'
$ json '~b|~(c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(c||~a)'
$ json '~b|~(c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(c||b)'
$ json '~b|~(c||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~b|~(c||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~b|~(c||~c)'
$ json '~b|~(~c||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b|~(~c||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b|~(~c||a)'
$ json '~b|~(~c||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b|~(~c||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b|~(~c||~a)'
$ json '~b|~(~c||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b|~(~c||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b|~(~c||b)'
$ json '~b|~(~c||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b|~(~c||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b|~(~c||c)'
$ json 'c|~(a||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|~(a||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|~(a||~a)'
$ json 'c|~(a||b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|~(a||b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|~(a||b)'
$ json 'c|~(a||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|~(a||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|~(a||~b)'
$ json 'c|~(a||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|~(a||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|~(a||~c)'
$ json 'c|~(~a||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~a||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~a||a)'
$ json 'c|~(~a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~a||b)'
$ json 'c|~(~a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~a||~b)'
$ json 'c|~(~a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~a||~c)'
$ json 'c|~(b||a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|~(b||a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|~(b||a)'
$ json 'c|~(b||~a)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|~(b||~a)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|~(b||~a)'
$ json 'c|~(b||~b)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|~(b||~b)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|~(b||~b)'
$ json 'c|~(b||~c)'
json: error: <stdin>:2:7: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:7: "type":"number"}],"expr":\n"c|~(b||~c)"}
json: error: <stdin>:2:7:                                  ^
command failed: json 'c|~(b||~c)'
$ json 'c|~(~b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~b||a)'
$ json 'c|~(~b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~b||~a)'
$ json 'c|~(~b||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~b||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~b||b)'
$ json 'c|~(~b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~b||~c)'
$ json 'c|~(~c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~c||a)'
$ json 'c|~(~c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~c||~a)'
$ json 'c|~(~c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~c||b)'
$ json 'c|~(~c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c|~(~c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c|~(~c||~b)'
$ json '~c|~(a||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(a||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(a||~a)'
$ json '~c|~(a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(a||b)'
$ json '~c|~(a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(a||~b)'
$ json '~c|~(a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(a||c)'
$ json '~c|~(~a||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c|~(~a||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c|~(~a||a)'
$ json '~c|~(~a||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c|~(~a||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c|~(~a||b)'
$ json '~c|~(~a||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c|~(~a||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c|~(~a||~b)'
$ json '~c|~(~a||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c|~(~a||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c|~(~a||c)'
$ json '~c|~(b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(b||a)'
$ json '~c|~(b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(b||~a)'
$ json '~c|~(b||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(b||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(b||~b)'
$ json '~c|~(b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(b||c)'
$ json '~c|~(~b||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c|~(~b||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c|~(~b||a)'
$ json '~c|~(~b||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c|~(~b||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c|~(~b||~a)'
$ json '~c|~(~b||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c|~(~b||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c|~(~b||b)'
$ json '~c|~(~b||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c|~(~b||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c|~(~b||c)'
$ json '~c|~(c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(c||a)'
$ json '~c|~(c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(c||~a)'
$ json '~c|~(c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(c||b)'
$ json '~c|~(c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"~c|~(c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json '~c|~(c||~b)'
$ json 'a||~(~a&b)'
100
101
$ json 'a||~(~a&~b)'
100
110
$ json 'a||~(~a&c)'
100
110
$ json 'a||~(~a&~c)'
100
101
$ json 'a||~(b&~a)'
100
101
$ json 'a||~(b&~b)'
100
111
$ json 'a||~(b&c)'
100
111
$ json 'a||~(b&~c)'
100
101
$ json 'a||~(~b&~a)'
100
110
$ json 'a||~(~b&b)'
100
111
$ json 'a||~(~b&c)'
100
110
$ json 'a||~(~b&~c)'
100
011
$ json 'a||~(c&~a)'
100
110
$ json 'a||~(c&b)'
100
111
$ json 'a||~(c&~b)'
100
110
$ json 'a||~(c&~c)'
100
111
$ json 'a||~(~c&~a)'
100
101
$ json 'a||~(~c&b)'
100
101
$ json 'a||~(~c&~b)'
100
011
$ json 'a||~(~c&c)'
100
111
$ json '~a||~(a&b)'
011
111
$ json '~a||~(a&~b)'
011
011
$ json '~a||~(a&c)'
011
111
$ json '~a||~(a&~c)'
011
011
$ json '~a||~(b&a)'
011
111
$ json '~a||~(b&~b)'
011
111
$ json '~a||~(b&c)'
011
111
$ json '~a||~(b&~c)'
011
101
$ json '~a||~(~b&a)'
011
011
$ json '~a||~(~b&b)'
011
111
$ json '~a||~(~b&c)'
011
110
$ json '~a||~(~b&~c)'
011
011
$ json '~a||~(c&a)'
011
111
$ json '~a||~(c&b)'
011
111
$ json '~a||~(c&~b)'
011
110
$ json '~a||~(c&~c)'
011
111
$ json '~a||~(~c&a)'
011
011
$ json '~a||~(~c&b)'
011
101
$ json '~a||~(~c&~b)'
011
011
$ json '~a||~(~c&c)'
011
111
$ json 'b||~(a&~a)'
010
111
$ json 'b||~(a&~b)'
010
011
$ json 'b||~(a&c)'
010
111
$ json 'b||~(a&~c)'
010
011
$ json 'b||~(~a&a)'
010
111
$ json 'b||~(~a&~b)'
010
110
$ json 'b||~(~a&c)'
010
110
$ json 'b||~(~a&~c)'
010
101
$ json 'b||~(~b&a)'
010
011
$ json 'b||~(~b&~a)'
010
110
$ json 'b||~(~b&c)'
010
110
$ json 'b||~(~b&~c)'
010
011
$ json 'b||~(c&a)'
010
111
$ json 'b||~(c&~a)'
010
110
$ json 'b||~(c&~b)'
010
110
$ json 'b||~(c&~c)'
010
111
$ json 'b||~(~c&a)'
010
011
$ json 'b||~(~c&~a)'
010
101
$ json 'b||~(~c&~b)'
010
011
$ json 'b||~(~c&c)'
010
111
$ json '~b||~(a&~a)'
101
111
$ json '~b||~(a&b)'
101
111
$ json '~b||~(a&c)'
101
111
$ json '~b||~(a&~c)'
101
011
$ json '~b||~(~a&a)'
101
111
$ json '~b||~(~a&b)'
101
101
$ json '~b||~(~a&c)'
101
110
$ json '~b||~(~a&~c)'
101
101
$ json '~b||~(b&a)'
101
111
$ json '~b||~(b&~a)'
101
101
$ json '~b||~(b&c)'
101
111
$ json '~b||~(b&~c)'
101
101
$ json '~b||~(c&a)'
101
111
$ json '~b||~(c&~a)'
101
110
$ json '~b||~(c&b)'
101
111
$ json '~b||~(c&~c)'
101
111
$ json '~b||~(~c&a)'
101
011
$ json '~b||~(~c&~a)'
101
101
$ json '~b||~(~c&b)'
101
101
$ json '~b||~(~c&c)'
101
111
$ json 'c||~(a&~a)'
001
111
$ json 'c||~(a&b)'
001
111
$ json 'c||~(a&~b)'
001
011
$ json 'c||~(a&~c)'
001
011
$ json 'c||~(~a&a)'
001
111
$ json 'c||~(~a&b)'
001
101
$ json 'c||~(~a&~b)'
001
110
$ json 'c||~(~a&~c)'
001
101
$ json 'c||~(b&a)'
001
111
$ json 'c||~(b&~a)'
001
101
$ json 'c||~(b&~b)'
001
111
$ json 'c||~(b&~c)'
001
101
$ json 'c||~(~b&a)'
001
011
$ json 'c||~(~b&~a)'
001
110
$ json 'c||~(~b&b)'
001
111
$ json 'c||~(~b&~c)'
001
011
$ json 'c||~(~c&a)'
001
011
$ json 'c||~(~c&~a)'
001
101
$ json 'c||~(~c&b)'
001
101
$ json 'c||~(~c&~b)'
001
011
$ json '~c||~(a&~a)'
110
111
$ json '~c||~(a&b)'
110
111
$ json '~c||~(a&~b)'
110
011
$ json '~c||~(a&c)'
110
111
$ json '~c||~(~a&a)'
110
111
$ json '~c||~(~a&b)'
110
101
$ json '~c||~(~a&~b)'
110
110
$ json '~c||~(~a&c)'
110
110
$ json '~c||~(b&a)'
110
111
$ json '~c||~(b&~a)'
110
101
$ json '~c||~(b&~b)'
110
111
$ json '~c||~(b&c)'
110
111
$ json '~c||~(~b&a)'
110
011
$ json '~c||~(~b&~a)'
110
110
$ json '~c||~(~b&b)'
110
111
$ json '~c||~(~b&c)'
110
110
$ json '~c||~(c&a)'
110
111
$ json '~c||~(c&~a)'
110
110
$ json '~c||~(c&b)'
110
111
$ json '~c||~(c&~b)'
110
110
$ json 'a||~(~a|b)'
100
100
$ json 'a||~(~a|~b)'
100
000
$ json 'a||~(~a|c)'
100
100
$ json 'a||~(~a|~c)'
100
000
$ json 'a||~(b|~a)'
100
100
$ json 'a||~(b|~b)'
100
000
$ json 'a||~(b|c)'
100
100
$ json 'a||~(b|~c)'
100
001
$ json 'a||~(~b|~a)'
100
000
$ json 'a||~(~b|b)'
100
000
$ json 'a||~(~b|c)'
100
010
$ json 'a||~(~b|~c)'
100
000
$ json 'a||~(c|~a)'
100
100
$ json 'a||~(c|b)'
100
100
$ json 'a||~(c|~b)'
100
010
$ json 'a||~(c|~c)'
100
000
$ json 'a||~(~c|~a)'
100
000
$ json 'a||~(~c|b)'
100
001
$ json 'a||~(~c|~b)'
100
000
$ json 'a||~(~c|c)'
100
000
$ json '~a||~(a|b)'
011
001
$ json '~a||~(a|~b)'
011
010
$ json '~a||~(a|c)'
011
010
$ json '~a||~(a|~c)'
011
001
$ json '~a||~(b|a)'
011
001
$ json '~a||~(b|~b)'
011
000
$ json '~a||~(b|c)'
011
100
$ json '~a||~(b|~c)'
011
001
$ json '~a||~(~b|a)'
011
010
$ json '~a||~(~b|b)'
011
000
$ json '~a||~(~b|c)'
011
010
$ json '~a||~(~b|~c)'
011
000
$ json '~a||~(c|a)'
011
010
$ json '~a||~(c|b)'
011
100
$ json '~a||~(c|~b)'
011
010
$ json '~a||~(c|~c)'
011
000
$ json '~a||~(~c|a)'
011
001
$ json '~a||~(~c|b)'
011
001
$ json '~a||~(~c|~b)'
011
000
$ json '~a||~(~c|c)'
011
000
$ json 'b||~(a|~a)'
010
000
$ json 'b||~(a|~b)'
010
010
$ json 'b||~(a|c)'
010
010
$ json 'b||~(a|~c)'
010
001
$ json 'b||~(~a|a)'
010
000
$ json 'b||~(~a|~b)'
010
000
$ json 'b||~(~a|c)'
010
100
$ json 'b||~(~a|~c)'
010
000
$ json 'b||~(~b|a)'
010
010
$ json 'b||~(~b|~a)'
010
000
$ json 'b||~(~b|c)'
010
010
$ json 'b||~(~b|~c)'
010
000
$ json 'b||~(c|a)'
010
010
$ json 'b||~(c|~a)'
010
100
$ json 'b||~(c|~b)'
010
010
$ json 'b||~(c|~c)'
010
000
$ json 'b||~(~c|a)'
010
001
$ json 'b||~(~c|~a)'
010
000
$ json 'b||~(~c|~b)'
010
000
$ json 'b||~(~c|c)'
010
000
$ json '~b||~(a|~a)'
101
000
$ json '~b||~(a|b)'
101
001
$ json '~b||~(a|c)'
101
010
$ json '~b||~(a|~c)'
101
001
$ json '~b||~(~a|a)'
101
000
$ json '~b||~(~a|b)'
101
100
$ json '~b||~(~a|c)'
101
100
$ json '~b||~(~a|~c)'
101
000
$ json '~b||~(b|a)'
101
001
$ json '~b||~(b|~a)'
101
100
$ json '~b||~(b|c)'
101
100
$ json '~b||~(b|~c)'
101
001
$ json '~b||~(c|a)'
101
010
$ json '~b||~(c|~a)'
101
100
$ json '~b||~(c|b)'
101
100
$ json '~b||~(c|~c)'
101
000
$ json '~b||~(~c|a)'
101
001
$ json '~b||~(~c|~a)'
101
000
$ json '~b||~(~c|b)'
101
001
$ json '~b||~(~c|c)'
101
000
$ json 'c||~(a|~a)'
001
000
$ json 'c||~(a|b)'
001
001
$ json 'c||~(a|~b)'
001
010
$ json 'c||~(a|~c)'
001
001
$ json 'c||~(~a|a)'
001
000
$ json 'c||~(~a|b)'
001
100
$ json 'c||~(~a|~b)'
001
000
$ json 'c||~(~a|~c)'
001
000
$ json 'c||~(b|a)'
001
001
$ json 'c||~(b|~a)'
001
100
$ json 'c||~(b|~b)'
001
000
$ json 'c||~(b|~c)'
001
001
$ json 'c||~(~b|a)'
001
010
$ json 'c||~(~b|~a)'
001
000
$ json 'c||~(~b|b)'
001
000
$ json 'c||~(~b|~c)'
001
000
$ json 'c||~(~c|a)'
001
001
$ json 'c||~(~c|~a)'
001
000
$ json 'c||~(~c|b)'
001
001
$ json 'c||~(~c|~b)'
001
000
$ json '~c||~(a|~a)'
110
000
$ json '~c||~(a|b)'
110
001
$ json '~c||~(a|~b)'
110
010
$ json '~c||~(a|c)'
110
010
$ json '~c||~(~a|a)'
110
000
$ json '~c||~(~a|b)'
110
100
$ json '~c||~(~a|~b)'
110
000
$ json '~c||~(~a|c)'
110
100
$ json '~c||~(b|a)'
110
001
$ json '~c||~(b|~a)'
110
100
$ json '~c||~(b|~b)'
110
000
$ json '~c||~(b|c)'
110
100
$ json '~c||~(~b|a)'
110
010
$ json '~c||~(~b|~a)'
110
000
$ json '~c||~(~b|b)'
110
000
$ json '~c||~(~b|c)'
110
010
$ json '~c||~(c|a)'
110
010
$ json '~c||~(c|~a)'
110
100
$ json '~c||~(c|b)'
110
100
$ json '~c||~(c|~b)'
110
010
$ json 'a||~(~a||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~a||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~a||b)'
$ json 'a||~(~a||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~a||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~a||~b)'
$ json 'a||~(~a||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~a||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~a||c)'
$ json 'a||~(~a||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~a||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~a||~c)'
$ json 'a||~(b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||~(b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||~(b||~a)'
$ json 'a||~(b||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||~(b||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||~(b||~b)'
$ json 'a||~(b||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||~(b||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||~(b||c)'
$ json 'a||~(b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||~(b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||~(b||~c)'
$ json 'a||~(~b||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~b||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~b||~a)'
$ json 'a||~(~b||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~b||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~b||b)'
$ json 'a||~(~b||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~b||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~b||c)'
$ json 'a||~(~b||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~b||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~b||~c)'
$ json 'a||~(c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||~(c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||~(c||~a)'
$ json 'a||~(c||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||~(c||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||~(c||b)'
$ json 'a||~(c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||~(c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||~(c||~b)'
$ json 'a||~(c||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"a||~(c||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'a||~(c||~c)'
$ json 'a||~(~c||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~c||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~c||~a)'
$ json 'a||~(~c||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~c||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~c||b)'
$ json 'a||~(~c||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~c||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~c||~b)'
$ json 'a||~(~c||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"a||~(~c||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'a||~(~c||c)'
$ json '~a||~(a||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(a||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(a||b)'
$ json '~a||~(a||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(a||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(a||~b)'
$ json '~a||~(a||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(a||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(a||c)'
$ json '~a||~(a||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(a||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(a||~c)'
$ json '~a||~(b||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(b||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(b||a)'
$ json '~a||~(b||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(b||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(b||~b)'
$ json '~a||~(b||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(b||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(b||c)'
$ json '~a||~(b||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(b||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(b||~c)'
$ json '~a||~(~b||a)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~a||~(~b||a)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~a||~(~b||a)'
$ json '~a||~(~b||b)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~a||~(~b||b)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~a||~(~b||b)'
$ json '~a||~(~b||c)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~a||~(~b||c)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~a||~(~b||c)'
$ json '~a||~(~b||~c)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~a||~(~b||~c)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~a||~(~b||~c)'
$ json '~a||~(c||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(c||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(c||a)'
$ json '~a||~(c||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(c||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(c||b)'
$ json '~a||~(c||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(c||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(c||~b)'
$ json '~a||~(c||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~a||~(c||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~a||~(c||~c)'
$ json '~a||~(~c||a)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~a||~(~c||a)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~a||~(~c||a)'
$ json '~a||~(~c||b)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~a||~(~c||b)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~a||~(~c||b)'
$ json '~a||~(~c||~b)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~a||~(~c||~b)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~a||~(~c||~b)'
$ json '~a||~(~c||c)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~a||~(~c||c)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~a||~(~c||c)'
$ json 'b||~(a||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||~(a||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||~(a||~a)'
$ json 'b||~(a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||~(a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||~(a||~b)'
$ json 'b||~(a||c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||~(a||c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||~(a||c)'
$ json 'b||~(a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||~(a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||~(a||~c)'
$ json 'b||~(~a||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~a||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~a||a)'
$ json 'b||~(~a||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~a||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~a||~b)'
$ json 'b||~(~a||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~a||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~a||c)'
$ json 'b||~(~a||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~a||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~a||~c)'
$ json 'b||~(~b||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~b||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~b||a)'
$ json 'b||~(~b||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~b||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~b||~a)'
$ json 'b||~(~b||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~b||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~b||c)'
$ json 'b||~(~b||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~b||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~b||~c)'
$ json 'b||~(c||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||~(c||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||~(c||a)'
$ json 'b||~(c||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||~(c||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||~(c||~a)'
$ json 'b||~(c||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||~(c||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||~(c||~b)'
$ json 'b||~(c||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"b||~(c||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'b||~(c||~c)'
$ json 'b||~(~c||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~c||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~c||a)'
$ json 'b||~(~c||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~c||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~c||~a)'
$ json 'b||~(~c||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~c||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~c||~b)'
$ json 'b||~(~c||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"b||~(~c||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'b||~(~c||c)'
$ json '~b||~(a||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(a||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(a||~a)'
$ json '~b||~(a||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(a||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(a||b)'
$ json '~b||~(a||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(a||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(a||c)'
$ json '~b||~(a||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(a||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(a||~c)'
$ json '~b||~(~a||a)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~b||~(~a||a)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~b||~(~a||a)'
$ json '~b||~(~a||b)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~b||~(~a||b)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~b||~(~a||b)'
$ json '~b||~(~a||c)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~b||~(~a||c)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~b||~(~a||c)'
$ json '~b||~(~a||~c)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~b||~(~a||~c)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~b||~(~a||~c)'
$ json '~b||~(b||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(b||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(b||a)'
$ json '~b||~(b||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(b||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(b||~a)'
$ json '~b||~(b||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(b||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(b||c)'
$ json '~b||~(b||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(b||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(b||~c)'
$ json '~b||~(c||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(c||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(c||a)'
$ json '~b||~(c||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(c||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(c||~a)'
$ json '~b||~(c||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(c||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(c||b)'
$ json '~b||~(c||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~b||~(c||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~b||~(c||~c)'
$ json '~b||~(~c||a)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~b||~(~c||a)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~b||~(~c||a)'
$ json '~b||~(~c||~a)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~b||~(~c||~a)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~b||~(~c||~a)'
$ json '~b||~(~c||b)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~b||~(~c||b)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~b||~(~c||b)'
$ json '~b||~(~c||c)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~b||~(~c||c)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~b||~(~c||c)'
$ json 'c||~(a||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||~(a||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||~(a||~a)'
$ json 'c||~(a||b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||~(a||b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||~(a||b)'
$ json 'c||~(a||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||~(a||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||~(a||~b)'
$ json 'c||~(a||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||~(a||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||~(a||~c)'
$ json 'c||~(~a||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~a||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~a||a)'
$ json 'c||~(~a||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~a||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~a||b)'
$ json 'c||~(~a||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~a||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~a||~b)'
$ json 'c||~(~a||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~a||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~a||~c)'
$ json 'c||~(b||a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||~(b||a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||~(b||a)'
$ json 'c||~(b||~a)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||~(b||~a)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||~(b||~a)'
$ json 'c||~(b||~b)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||~(b||~b)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||~(b||~b)'
$ json 'c||~(b||~c)'
json: error: <stdin>:2:8: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:8: type":"number"}],"expr":\n"c||~(b||~c)"}
json: error: <stdin>:2:8:                                  ^
command failed: json 'c||~(b||~c)'
$ json 'c||~(~b||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~b||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~b||a)'
$ json 'c||~(~b||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~b||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~b||~a)'
$ json 'c||~(~b||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~b||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~b||b)'
$ json 'c||~(~b||~c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~b||~c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~b||~c)'
$ json 'c||~(~c||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~c||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~c||a)'
$ json 'c||~(~c||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~c||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~c||~a)'
$ json 'c||~(~c||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~c||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~c||b)'
$ json 'c||~(~c||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"c||~(~c||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json 'c||~(~c||~b)'
$ json '~c||~(a||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(a||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(a||~a)'
$ json '~c||~(a||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(a||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(a||b)'
$ json '~c||~(a||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(a||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(a||~b)'
$ json '~c||~(a||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(a||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(a||c)'
$ json '~c||~(~a||a)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~c||~(~a||a)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~c||~(~a||a)'
$ json '~c||~(~a||b)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~c||~(~a||b)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~c||~(~a||b)'
$ json '~c||~(~a||~b)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~c||~(~a||~b)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~c||~(~a||~b)'
$ json '~c||~(~a||c)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~c||~(~a||c)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~c||~(~a||c)'
$ json '~c||~(b||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(b||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(b||a)'
$ json '~c||~(b||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(b||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(b||~a)'
$ json '~c||~(b||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(b||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(b||~b)'
$ json '~c||~(b||c)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(b||c)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(b||c)'
$ json '~c||~(~b||a)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~c||~(~b||a)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~c||~(~b||a)'
$ json '~c||~(~b||~a)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~c||~(~b||~a)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~c||~(~b||~a)'
$ json '~c||~(~b||b)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~c||~(~b||b)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~c||~(~b||b)'
$ json '~c||~(~b||c)'
json: error: <stdin>:2:10: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:10: pe":"number"}],"expr":\n"~c||~(~b||c)"}
json: error: <stdin>:2:10:                                  ^
command failed: json '~c||~(~b||c)'
$ json '~c||~(c||a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(c||a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(c||a)'
$ json '~c||~(c||~a)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(c||~a)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(c||~a)'
$ json '~c||~(c||b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(c||b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(c||b)'
$ json '~c||~(c||~b)'
json: error: <stdin>:2:9: meta error: invalid dict expression: unexpected token
json: error: <stdin>:2:9: ype":"number"}],"expr":\n"~c||~(c||~b)"}
json: error: <stdin>:2:9:                                  ^
command failed: json '~c||~(c||~b)'
$ 
 
--[ dict-expr-keys6 ]-----------------------------------------------------------

$ json() { set -o pipefail && ../lib/test-gen -T --dict -d1 -k128 -e "$1"|LD_LIBRARY_PATH=../lib ../src/json -V -TA|LD_LIBRARY_PATH=../lib ../src/json -J --no-error|sed -nr 's|^/attr/expr/bits=||p'; }
#
# # meta command:
# $ for((k=0;k<128;k++)); do c="json '\`$k\`'"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json '`0`'
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`1`'
01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`2`'
00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`3`'
00010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`4`'
00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`5`'
00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`6`'
00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`7`'
00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`8`'
00000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`9`'
00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`10`'
00000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`11`'
00000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`12`'
00000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`13`'
00000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`14`'
00000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`15`'
00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`16`'
00000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`17`'
00000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`18`'
00000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`19`'
00000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`20`'
00000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`21`'
00000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`22`'
00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`23`'
00000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`24`'
00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`25`'
00000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`26`'
00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`27`'
00000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`28`'
00000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`29`'
00000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`30`'
00000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`31`'
00000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`32`'
00000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`33`'
00000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`34`'
00000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`35`'
00000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`36`'
00000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`37`'
00000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`38`'
00000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`39`'
00000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`40`'
00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`41`'
00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`42`'
00000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`43`'
00000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`44`'
00000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`45`'
00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`46`'
00000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`47`'
00000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`48`'
00000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`49`'
00000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`50`'
00000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`51`'
00000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`52`'
00000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`53`'
00000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`54`'
00000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`55`'
00000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000
$ json '`56`'
00000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000
$ json '`57`'
00000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000
$ json '`58`'
00000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000
$ json '`59`'
00000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000
$ json '`60`'
00000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000
$ json '`61`'
00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000
$ json '`62`'
00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000
$ json '`63`'
00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000
$ json '`64`'
00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000
$ json '`65`'
00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000
$ json '`66`'
00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000
$ json '`67`'
00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000
$ json '`68`'
00000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000
$ json '`69`'
00000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000
$ json '`70`'
00000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000
$ json '`71`'
00000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000
$ json '`72`'
00000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000
$ json '`73`'
00000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000
$ json '`74`'
00000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000
$ json '`75`'
00000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000
$ json '`76`'
00000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000
$ json '`77`'
00000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000
$ json '`78`'
00000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000
$ json '`79`'
00000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000
$ json '`80`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000
$ json '`81`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000
$ json '`82`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000
$ json '`83`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000
$ json '`84`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000
$ json '`85`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000
$ json '`86`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000
$ json '`87`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000
$ json '`88`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000
$ json '`89`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000
$ json '`90`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000
$ json '`91`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000
$ json '`92`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000
$ json '`93`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000
$ json '`94`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000
$ json '`95`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000
$ json '`96`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000
$ json '`97`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000
$ json '`98`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000
$ json '`99`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000
$ json '`100`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000
$ json '`101`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000
$ json '`102`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000
$ json '`103`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000
$ json '`104`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000
$ json '`105`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000
$ json '`106`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000
$ json '`107`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000
$ json '`108`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000
$ json '`109`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000
$ json '`110`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000
$ json '`111`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000
$ json '`112`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000
$ json '`113`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000
$ json '`114`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
$ json '`115`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000
$ json '`116`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000
$ json '`117`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000
$ json '`118`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000
$ json '`119`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000
$ json '`120`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000
$ json '`121`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000
$ json '`122`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000
$ json '`123`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000
$ json '`124`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
$ json '`125`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100
$ json '`126`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010
$ json '`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
$ 
 
--[ dict-expr-keys7 ]-----------------------------------------------------------

$ json() { set -o pipefail && ../lib/test-gen -T --dict -d1 -k128 -e "$1"|LD_LIBRARY_PATH=../lib ../src/json -V -TA|LD_LIBRARY_PATH=../lib ../src/json -J --no-error|sed -nr 's|^/attr/expr/bits=||p'; }
#
# # meta command:
# $ for((k=0;k<128;k++)); do c="json '~\`$k\`'"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json '~`0`'
01111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`1`'
10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`2`'
11011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`3`'
11101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`4`'
11110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`5`'
11111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`6`'
11111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`7`'
11111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`8`'
11111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`9`'
11111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`10`'
11111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`11`'
11111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`12`'
11111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`13`'
11111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`14`'
11111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`15`'
11111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`16`'
11111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`17`'
11111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`18`'
11111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`19`'
11111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`20`'
11111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`21`'
11111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`22`'
11111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`23`'
11111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`24`'
11111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`25`'
11111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`26`'
11111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`27`'
11111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`28`'
11111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`29`'
11111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`30`'
11111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`31`'
11111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`32`'
11111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`33`'
11111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`34`'
11111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`35`'
11111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`36`'
11111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`37`'
11111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`38`'
11111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`39`'
11111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`40`'
11111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`41`'
11111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`42`'
11111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`43`'
11111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`44`'
11111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`45`'
11111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`46`'
11111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`47`'
11111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`48`'
11111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`49`'
11111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`50`'
11111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`51`'
11111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`52`'
11111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`53`'
11111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`54`'
11111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`55`'
11111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`56`'
11111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`57`'
11111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`58`'
11111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111
$ json '~`59`'
11111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111
$ json '~`60`'
11111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111
$ json '~`61`'
11111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111
$ json '~`62`'
11111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111
$ json '~`63`'
11111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111
$ json '~`64`'
11111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111
$ json '~`65`'
11111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111
$ json '~`66`'
11111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111
$ json '~`67`'
11111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111
$ json '~`68`'
11111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111
$ json '~`69`'
11111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111
$ json '~`70`'
11111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111
$ json '~`71`'
11111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111
$ json '~`72`'
11111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111
$ json '~`73`'
11111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111
$ json '~`74`'
11111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111
$ json '~`75`'
11111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111
$ json '~`76`'
11111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111
$ json '~`77`'
11111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111
$ json '~`78`'
11111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111
$ json '~`79`'
11111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111
$ json '~`80`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111
$ json '~`81`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111
$ json '~`82`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111
$ json '~`83`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111
$ json '~`84`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111
$ json '~`85`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111
$ json '~`86`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111
$ json '~`87`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111
$ json '~`88`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111
$ json '~`89`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111
$ json '~`90`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111
$ json '~`91`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111
$ json '~`92`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111
$ json '~`93`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111
$ json '~`94`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111
$ json '~`95`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111
$ json '~`96`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111
$ json '~`97`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111
$ json '~`98`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111
$ json '~`99`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111
$ json '~`100`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111
$ json '~`101`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111
$ json '~`102`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111
$ json '~`103`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111
$ json '~`104`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111
$ json '~`105`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111
$ json '~`106`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111
$ json '~`107`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111
$ json '~`108`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111
$ json '~`109`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111
$ json '~`110`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111
$ json '~`111`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111
$ json '~`112`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111
$ json '~`113`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111
$ json '~`114`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111
$ json '~`115`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111
$ json '~`116`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111
$ json '~`117`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111
$ json '~`118`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111
$ json '~`119`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111
$ json '~`120`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111
$ json '~`121`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111
$ json '~`122`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111
$ json '~`123`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111
$ json '~`124`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111
$ json '~`125`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011
$ json '~`126`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101
$ json '~`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110
$ 
 
--[ dict-expr-keys8 ]-----------------------------------------------------------

$ json() { set -o pipefail && ../lib/test-gen -T --dict -d1 -k128 -e "$1"|LD_LIBRARY_PATH=../lib ../src/json -V -TA|LD_LIBRARY_PATH=../lib ../src/json -J --no-error|sed -nr 's|^/attr/expr/bits=||p'; }
#
# # meta command:
# $ for((i=0;i<128;i++)); do e=''; for((j=0;j<128;j++));do [ $i -ne $j ] && e+="~\`$j\`"; done; c="json '$e'"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json '~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`120`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`121`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`122`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`123`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`124`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`125`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`126`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`127`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010
$ json '~`0`~`1`~`2`~`3`~`4`~`5`~`6`~`7`~`8`~`9`~`10`~`11`~`12`~`13`~`14`~`15`~`16`~`17`~`18`~`19`~`20`~`21`~`22`~`23`~`24`~`25`~`26`~`27`~`28`~`29`~`30`~`31`~`32`~`33`~`34`~`35`~`36`~`37`~`38`~`39`~`40`~`41`~`42`~`43`~`44`~`45`~`46`~`47`~`48`~`49`~`50`~`51`~`52`~`53`~`54`~`55`~`56`~`57`~`58`~`59`~`60`~`61`~`62`~`63`~`64`~`65`~`66`~`67`~`68`~`69`~`70`~`71`~`72`~`73`~`74`~`75`~`76`~`77`~`78`~`79`~`80`~`81`~`82`~`83`~`84`~`85`~`86`~`87`~`88`~`89`~`90`~`91`~`92`~`93`~`94`~`95`~`96`~`97`~`98`~`99`~`100`~`101`~`102`~`103`~`104`~`105`~`106`~`107`~`108`~`109`~`110`~`111`~`112`~`113`~`114`~`115`~`116`~`117`~`118`~`119`~`120`~`121`~`122`~`123`~`124`~`125`~`126`'
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
$ 
 
--[ dict-expr-keys9 ]-----------------------------------------------------------

$ json() { set -o pipefail && ../lib/test-gen -T --dict -d1 -k128 -e "$1"|LD_LIBRARY_PATH=../lib ../src/json -V -TA|LD_LIBRARY_PATH=../lib ../src/json -J --no-error|sed -nr 's|^/attr/expr/bits=||p'; }
#
# # meta command:
# $ for((i=0;i<128;i++)); do e=''; for((j=0;j<128;j++));do [ $i -ne $j ] && e+="${e:+|}\`$j\`"; done; c="json '$e'"; echo "$ $c"; eval "$c 2>&1" || echo "command failed: $c"; done
#
$ json '`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
01111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`120`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`121`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`122`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`123`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`124`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`125`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`126`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`127`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101
$ json '`0`|`1`|`2`|`3`|`4`|`5`|`6`|`7`|`8`|`9`|`10`|`11`|`12`|`13`|`14`|`15`|`16`|`17`|`18`|`19`|`20`|`21`|`22`|`23`|`24`|`25`|`26`|`27`|`28`|`29`|`30`|`31`|`32`|`33`|`34`|`35`|`36`|`37`|`38`|`39`|`40`|`41`|`42`|`43`|`44`|`45`|`46`|`47`|`48`|`49`|`50`|`51`|`52`|`53`|`54`|`55`|`56`|`57`|`58`|`59`|`60`|`61`|`62`|`63`|`64`|`65`|`66`|`67`|`68`|`69`|`70`|`71`|`72`|`73`|`74`|`75`|`76`|`77`|`78`|`79`|`80`|`81`|`82`|`83`|`84`|`85`|`86`|`87`|`88`|`89`|`90`|`91`|`92`|`93`|`94`|`95`|`96`|`97`|`98`|`99`|`100`|`101`|`102`|`103`|`104`|`105`|`106`|`107`|`108`|`109`|`110`|`111`|`112`|`113`|`114`|`115`|`116`|`117`|`118`|`119`|`120`|`121`|`122`|`123`|`124`|`125`|`126`'
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110
$

--[ dict-expr-quote ]-----------------------------------------------------------

$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V -TA <<< '{"type":"dict","args":[{"name":"a","type":"number"},{"name":"b","type":"number"},{"name":"c","type":"number"}],"expr":'$'\n"'"$1"'"}'|LD_LIBRARY_PATH=../lib ../src/json -J --no-error|sed -nr 's|^/attr/expr/bits=||p'; }
$ json '`'
json: error: <stdin>:2:3: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:2:3: "c","type":"number"}],"expr":\n"`"}
json: error: <stdin>:2:3:                                  ^
command failed: json '`'
$ json '``'
json: error: <stdin>:2:2: meta error: invalid dict expression: empty quoted key
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"``"}
json: error: <stdin>:2:2:                                  ^
command failed: json '``'
$ json '```'
json: error: <stdin>:2:5: meta error: invalid dict expression: unexpected end of expression
json: error: <stdin>:2:5: ","type":"number"}],"expr":\n"```"}
json: error: <stdin>:2:5:                                  ^
command failed: json '```'
$ json '````'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"````"}
json: error: <stdin>:2:2:                                  ^
command failed: json '````'
$ json '`a`'
100
$ json '`b`'
010
$ json '`c`'
001
$ json '`x`'
json: error: <stdin>:2:2: attribute error: invalid "dict" type object: expression key not found ("dict" is defined at 1:1)
json: error: <stdin>:2:2: :"c","type":"number"}],"expr":\n"`x`"}
json: error: <stdin>:2:2:                                  ^
command failed: json '`x`'
$ 

--[ dict-expr-attr ]------------------------------------------------------------

$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V -TA <<< '{"type":"dict","args":[{"name":"a","type":"number"},{"name":"b","type":"number"},{"name":"c","type":"number"}],"expr":'$'\n"'"$1"'"}'|LD_LIBRARY_PATH=../lib ../src/json -P --no-error; }
$ json '0'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "0",
        "nodes": [
            {
                "num": 0
            }
        ],
        "size": 1
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "000"
            }
        ],
        "size": 1
    }
}
$ json '1'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "1",
        "nodes": [
            {
                "num": 1
            }
        ],
        "size": 1
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "111"
            }
        ],
        "size": 1
    }
}
$ json 'a'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "a",
        "nodes": [
            {
                "key": "a"
            }
        ],
        "size": 1
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "100"
            }
        ],
        "size": 1
    }
}
$ json '~a'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "~a",
        "nodes": [
            {
                "key": "a"
            },
            {
                "op": "not"
            }
        ],
        "size": 2
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "011"
            }
        ],
        "size": 1
    }
}
$ json 'a|b'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "a|b",
        "nodes": [
            {
                "key": "a"
            },
            {
                "key": "b"
            },
            {
                "op": "or"
            }
        ],
        "size": 3
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "110"
            }
        ],
        "size": 1
    }
}
$ json '~(a|b)'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "~(a|b)",
        "nodes": [
            {
                "key": "a"
            },
            {
                "key": "b"
            },
            {
                "op": "or"
            },
            {
                "op": "not"
            }
        ],
        "size": 4
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "001"
            }
        ],
        "size": 1
    }
}
$ json 'a b'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "a b",
        "nodes": [
            {
                "key": "a"
            },
            {
                "key": "b"
            },
            {
                "op": "and"
            }
        ],
        "size": 3
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "000"
            }
        ],
        "size": 1
    }
}
$ json '~(a b)'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "~(a b)",
        "nodes": [
            {
                "key": "a"
            },
            {
                "key": "b"
            },
            {
                "op": "and"
            },
            {
                "op": "not"
            }
        ],
        "size": 4
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "111"
            }
        ],
        "size": 1
    }
}
$ json '~a|~b'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "~a|~b",
        "nodes": [
            {
                "key": "a"
            },
            {
                "op": "not"
            },
            {
                "key": "b"
            },
            {
                "op": "not"
            },
            {
                "op": "or"
            }
        ],
        "size": 5
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "111"
            }
        ],
        "size": 1
    }
}
$ json '~a~b'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "~a~b",
        "nodes": [
            {
                "key": "a"
            },
            {
                "op": "not"
            },
            {
                "key": "b"
            },
            {
                "op": "not"
            },
            {
                "op": "and"
            }
        ],
        "size": 5
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "001"
            }
        ],
        "size": 1
    }
}
$ json '(a b)|c'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "(a b)|c",
        "nodes": [
            {
                "key": "a"
            },
            {
                "key": "b"
            },
            {
                "op": "and"
            },
            {
                "key": "c"
            },
            {
                "op": "or"
            }
        ],
        "size": 5
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "001"
            }
        ],
        "size": 1
    }
}
$ json 'a(b|c)'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "a(b|c)",
        "nodes": [
            {
                "key": "a"
            },
            {
                "key": "b"
            },
            {
                "key": "c"
            },
            {
                "op": "or"
            },
            {
                "op": "and"
            }
        ],
        "size": 5
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "000"
            }
        ],
        "size": 1
    }
}
$ json '(a|b)c'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "(a|b)c",
        "nodes": [
            {
                "key": "a"
            },
            {
                "key": "b"
            },
            {
                "op": "or"
            },
            {
                "key": "c"
            },
            {
                "op": "and"
            }
        ],
        "size": 5
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "000"
            }
        ],
        "size": 1
    }
}
$ json 'a|(b c)'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "a|(b c)",
        "nodes": [
            {
                "key": "a"
            },
            {
                "key": "b"
            },
            {
                "key": "c"
            },
            {
                "op": "and"
            },
            {
                "op": "or"
            }
        ],
        "size": 5
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "100"
            }
        ],
        "size": 1
    }
}
$ json 'a||b||c'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "a||b||c",
        "nodes": [
            {
                "key": "a"
            },
            {
                "key": "b"
            },
            {
                "op": "alt"
            },
            {
                "key": "c"
            },
            {
                "op": "alt"
            }
        ],
        "size": 5
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "100"
            },
            {
                "size": 3,
                "bits": "010"
            },
            {
                "size": 3,
                "bits": "001"
            }
        ],
        "size": 3
    }
}
$ json '~a||~b||~c'
{
    "type": "dict",
    "args": [
        {
            "name": "a",
            "type": "number"
        },
        {
            "name": "b",
            "type": "number"
        },
        {
            "name": "c",
            "type": "number"
        }
    ],
    "expr": {
        "text": "~a||~b||~c",
        "nodes": [
            {
                "key": "a"
            },
            {
                "op": "not"
            },
            {
                "key": "b"
            },
            {
                "op": "not"
            },
            {
                "op": "alt"
            },
            {
                "key": "c"
            },
            {
                "op": "not"
            },
            {
                "op": "alt"
            }
        ],
        "size": 8
    },
    "attr": {
        "args": {
            "sym": "a",
            "lo": null,
            "eq": {
                "val": 0,
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "b",
                "lo": null,
                "eq": {
                    "val": 1,
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "c",
                    "lo": null,
                    "eq": {
                        "val": 2,
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "expr": [
            {
                "size": 3,
                "bits": "011"
            },
            {
                "size": 3,
                "bits": "101"
            },
            {
                "size": 3,
                "bits": "110"
            }
        ],
        "size": 3
    }
}
$ 

--[ list ]----------------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123 '"foo"' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '"list"' '{}' '{"foo":"bar"}' '[]' '["foo","bar"]' '{"plain":false}' '{"type":"object","args":[]}' '{"type":"array","args":"type"}' '{"type":"array","args":[]}'; do T='{"type":"list","args":['"$v"']}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[null]}'
json: error: <stdin>:1:24: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:24: {"type":"list","args":[null]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":[null]}'
$ json <<< '{"type":"list","args":[false]}'
json: error: <stdin>:1:24: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:24: {"type":"list","args":[false]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":[false]}'
$ json <<< '{"type":"list","args":[true]}'
json: error: <stdin>:1:24: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:24: {"type":"list","args":[true]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":[true]}'
$ json <<< '{"type":"list","args":[123]}'
json: error: <stdin>:1:24: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:24: {"type":"list","args":[123]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":[123]}'
$ json <<< '{"type":"list","args":["foo"]}'
json: error: <stdin>:1:24: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:24: {"type":"list","args":["foo"]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":["foo"]}'
$ json <<< '{"type":"list","args":["type"]}'
{
    "type": "list",
    "args": [
        "type"
    ],
    "attr": {
        "any": {
            "sym": "type",
            "lo": null,
            "eq": {
                "val": "type",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["null"]}'
{
    "type": "list",
    "args": [
        "null"
    ],
    "attr": {
        "any": {
            "sym": "null",
            "lo": null,
            "eq": {
                "val": "null",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["boolean"]}'
{
    "type": "list",
    "args": [
        "boolean"
    ],
    "attr": {
        "any": {
            "sym": "boolean",
            "lo": null,
            "eq": {
                "val": "boolean",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["number"]}'
{
    "type": "list",
    "args": [
        "number"
    ],
    "attr": {
        "any": {
            "sym": "number",
            "lo": null,
            "eq": {
                "val": "number",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["string"]}'
{
    "type": "list",
    "args": [
        "string"
    ],
    "attr": {
        "any": {
            "sym": "string",
            "lo": null,
            "eq": {
                "val": "string",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["object"]}'
{
    "type": "list",
    "args": [
        "object"
    ],
    "attr": {
        "any": {
            "sym": "object",
            "lo": null,
            "eq": {
                "val": "object",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["array"]}'
{
    "type": "list",
    "args": [
        "array"
    ],
    "attr": {
        "any": {
            "sym": "array",
            "lo": null,
            "eq": {
                "val": "array",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["list"]}'
json: error: <stdin>:1:24: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:24: {"type":"list","args":["list"]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":["list"]}'
$ json <<< '{"type":"list","args":[{}]}'
json: error: <stdin>:1:24: meta error: empty objects are not allowed
json: error: <stdin>:1:24: {"type":"list","args":[{}]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":[{}]}'
$ json <<< '{"type":"list","args":[{"foo":"bar"}]}'
json: error: <stdin>:1:25: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:25: {"type":"list","args":[{"foo":"bar"}]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"list","args":[{"foo":"bar"}]}'
$ json <<< '{"type":"list","args":[[]]}'
json: error: <stdin>:1:24: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:24: {"type":"list","args":[[]]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":[[]]}'
$ json <<< '{"type":"list","args":[["foo","bar"]]}'
json: error: <stdin>:1:25: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:25: {"type":"list","args":[["foo","bar"]]}
json: error: <stdin>:1:25:                         ^
command failed: json <<< '{"type":"list","args":[["foo","bar"]]}'
$ json <<< '{"type":"list","args":[{"plain":false}]}'
{
    "type": "list",
    "args": [
        {
            "plain": false
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": false
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": false
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": []
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "val": {
                "type": "object",
                "args": []
            },
            "lo": null,
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": []
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
$

--[ list-any-type ]-------------------------------------------------------------

#
# # meta command:
# $ for t in type null boolean number string object array; do T='{"type":"list","args":["'"$t"'"]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":["type"]}'
{
    "type": "list",
    "args": [
        "type"
    ],
    "attr": {
        "any": {
            "sym": "type",
            "lo": null,
            "eq": {
                "val": "type",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["null"]}'
{
    "type": "list",
    "args": [
        "null"
    ],
    "attr": {
        "any": {
            "sym": "null",
            "lo": null,
            "eq": {
                "val": "null",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["boolean"]}'
{
    "type": "list",
    "args": [
        "boolean"
    ],
    "attr": {
        "any": {
            "sym": "boolean",
            "lo": null,
            "eq": {
                "val": "boolean",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["number"]}'
{
    "type": "list",
    "args": [
        "number"
    ],
    "attr": {
        "any": {
            "sym": "number",
            "lo": null,
            "eq": {
                "val": "number",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["string"]}'
{
    "type": "list",
    "args": [
        "string"
    ],
    "attr": {
        "any": {
            "sym": "string",
            "lo": null,
            "eq": {
                "val": "string",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["object"]}'
{
    "type": "list",
    "args": [
        "object"
    ],
    "attr": {
        "any": {
            "sym": "object",
            "lo": null,
            "eq": {
                "val": "object",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["array"]}'
{
    "type": "list",
    "args": [
        "array"
    ],
    "attr": {
        "any": {
            "sym": "array",
            "lo": null,
            "eq": {
                "val": "array",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$

--[ list-any-type2 ]------------------------------------------------------------

#
# # meta command:
# $ for t in type null boolean number string object array; do for t2 in type null boolean number string object array; do T='{"type":"list","args":["'"$t"'","'"$t2"'"]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done; done
#
$ json <<< '{"type":"list","args":["type","type"]}'
json: error: <stdin>:1:31: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:31: {"type":"list","args":["type","type"]}
json: error: <stdin>:1:31:                               ^
command failed: json <<< '{"type":"list","args":["type","type"]}'
$ json <<< '{"type":"list","args":["type","null"]}'
{
    "type": "list",
    "args": [
        "type",
        "null"
    ],
    "attr": {
        "any": {
            "sym": "type",
            "lo": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": "null",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "type",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["type","boolean"]}'
{
    "type": "list",
    "args": [
        "type",
        "boolean"
    ],
    "attr": {
        "any": {
            "sym": "type",
            "lo": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": "boolean",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "type",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["type","number"]}'
{
    "type": "list",
    "args": [
        "type",
        "number"
    ],
    "attr": {
        "any": {
            "sym": "type",
            "lo": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": "number",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "type",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["type","string"]}'
{
    "type": "list",
    "args": [
        "type",
        "string"
    ],
    "attr": {
        "any": {
            "sym": "type",
            "lo": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": "string",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "type",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["type","object"]}'
{
    "type": "list",
    "args": [
        "type",
        "object"
    ],
    "attr": {
        "any": {
            "sym": "type",
            "lo": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": "object",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "type",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["type","array"]}'
{
    "type": "list",
    "args": [
        "type",
        "array"
    ],
    "attr": {
        "any": {
            "sym": "type",
            "lo": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": "array",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "type",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["null","type"]}'
{
    "type": "list",
    "args": [
        "null",
        "type"
    ],
    "attr": {
        "any": {
            "sym": "null",
            "lo": null,
            "eq": {
                "val": "null",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": "type",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["null","null"]}'
json: error: <stdin>:1:31: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:31: {"type":"list","args":["null","null"]}
json: error: <stdin>:1:31:                               ^
command failed: json <<< '{"type":"list","args":["null","null"]}'
$ json <<< '{"type":"list","args":["null","boolean"]}'
{
    "type": "list",
    "args": [
        "null",
        "boolean"
    ],
    "attr": {
        "any": {
            "sym": "null",
            "lo": null,
            "eq": {
                "val": "null",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": "boolean",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["null","number"]}'
{
    "type": "list",
    "args": [
        "null",
        "number"
    ],
    "attr": {
        "any": {
            "sym": "null",
            "lo": null,
            "eq": {
                "val": "null",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": "number",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["null","string"]}'
{
    "type": "list",
    "args": [
        "null",
        "string"
    ],
    "attr": {
        "any": {
            "sym": "null",
            "lo": null,
            "eq": {
                "val": "null",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": "string",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["null","object"]}'
{
    "type": "list",
    "args": [
        "null",
        "object"
    ],
    "attr": {
        "any": {
            "sym": "null",
            "lo": null,
            "eq": {
                "val": "null",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": "object",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["null","array"]}'
{
    "type": "list",
    "args": [
        "null",
        "array"
    ],
    "attr": {
        "any": {
            "sym": "null",
            "lo": null,
            "eq": {
                "val": "null",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": "array",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["boolean","type"]}'
{
    "type": "list",
    "args": [
        "boolean",
        "type"
    ],
    "attr": {
        "any": {
            "sym": "boolean",
            "lo": null,
            "eq": {
                "val": "boolean",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": "type",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["boolean","null"]}'
{
    "type": "list",
    "args": [
        "boolean",
        "null"
    ],
    "attr": {
        "any": {
            "sym": "boolean",
            "lo": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": "null",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "boolean",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["boolean","boolean"]}'
json: error: <stdin>:1:34: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:34: "type":"list","args":["boolean","boolean"]}
json: error: <stdin>:1:34:                                 ^
command failed: json <<< '{"type":"list","args":["boolean","boolean"]}'
$ json <<< '{"type":"list","args":["boolean","number"]}'
{
    "type": "list",
    "args": [
        "boolean",
        "number"
    ],
    "attr": {
        "any": {
            "sym": "boolean",
            "lo": null,
            "eq": {
                "val": "boolean",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": "number",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["boolean","string"]}'
{
    "type": "list",
    "args": [
        "boolean",
        "string"
    ],
    "attr": {
        "any": {
            "sym": "boolean",
            "lo": null,
            "eq": {
                "val": "boolean",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": "string",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["boolean","object"]}'
{
    "type": "list",
    "args": [
        "boolean",
        "object"
    ],
    "attr": {
        "any": {
            "sym": "boolean",
            "lo": null,
            "eq": {
                "val": "boolean",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": "object",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["boolean","array"]}'
{
    "type": "list",
    "args": [
        "boolean",
        "array"
    ],
    "attr": {
        "any": {
            "sym": "boolean",
            "lo": null,
            "eq": {
                "val": "boolean",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": "array",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["number","type"]}'
{
    "type": "list",
    "args": [
        "number",
        "type"
    ],
    "attr": {
        "any": {
            "sym": "number",
            "lo": null,
            "eq": {
                "val": "number",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": "type",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["number","null"]}'
{
    "type": "list",
    "args": [
        "number",
        "null"
    ],
    "attr": {
        "any": {
            "sym": "number",
            "lo": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": "null",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "number",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["number","boolean"]}'
{
    "type": "list",
    "args": [
        "number",
        "boolean"
    ],
    "attr": {
        "any": {
            "sym": "number",
            "lo": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": "boolean",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "number",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["number","number"]}'
json: error: <stdin>:1:33: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:33: {"type":"list","args":["number","number"]}
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '{"type":"list","args":["number","number"]}'
$ json <<< '{"type":"list","args":["number","string"]}'
{
    "type": "list",
    "args": [
        "number",
        "string"
    ],
    "attr": {
        "any": {
            "sym": "number",
            "lo": null,
            "eq": {
                "val": "number",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": "string",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["number","object"]}'
{
    "type": "list",
    "args": [
        "number",
        "object"
    ],
    "attr": {
        "any": {
            "sym": "number",
            "lo": null,
            "eq": {
                "val": "number",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": "object",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["number","array"]}'
{
    "type": "list",
    "args": [
        "number",
        "array"
    ],
    "attr": {
        "any": {
            "sym": "number",
            "lo": null,
            "eq": {
                "val": "number",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": "array",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["string","type"]}'
{
    "type": "list",
    "args": [
        "string",
        "type"
    ],
    "attr": {
        "any": {
            "sym": "string",
            "lo": null,
            "eq": {
                "val": "string",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": "type",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["string","null"]}'
{
    "type": "list",
    "args": [
        "string",
        "null"
    ],
    "attr": {
        "any": {
            "sym": "string",
            "lo": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": "null",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "string",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["string","boolean"]}'
{
    "type": "list",
    "args": [
        "string",
        "boolean"
    ],
    "attr": {
        "any": {
            "sym": "string",
            "lo": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": "boolean",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "string",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["string","number"]}'
{
    "type": "list",
    "args": [
        "string",
        "number"
    ],
    "attr": {
        "any": {
            "sym": "string",
            "lo": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": "number",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "string",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["string","string"]}'
json: error: <stdin>:1:33: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:33: {"type":"list","args":["string","string"]}
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '{"type":"list","args":["string","string"]}'
$ json <<< '{"type":"list","args":["string","object"]}'
{
    "type": "list",
    "args": [
        "string",
        "object"
    ],
    "attr": {
        "any": {
            "sym": "string",
            "lo": null,
            "eq": {
                "val": "string",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": "object",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["string","array"]}'
{
    "type": "list",
    "args": [
        "string",
        "array"
    ],
    "attr": {
        "any": {
            "sym": "string",
            "lo": null,
            "eq": {
                "val": "string",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": "array",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["object","type"]}'
{
    "type": "list",
    "args": [
        "object",
        "type"
    ],
    "attr": {
        "any": {
            "sym": "object",
            "lo": null,
            "eq": {
                "val": "object",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": "type",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["object","null"]}'
{
    "type": "list",
    "args": [
        "object",
        "null"
    ],
    "attr": {
        "any": {
            "sym": "object",
            "lo": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": "null",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "object",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["object","boolean"]}'
{
    "type": "list",
    "args": [
        "object",
        "boolean"
    ],
    "attr": {
        "any": {
            "sym": "object",
            "lo": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": "boolean",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "object",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["object","number"]}'
{
    "type": "list",
    "args": [
        "object",
        "number"
    ],
    "attr": {
        "any": {
            "sym": "object",
            "lo": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": "number",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "object",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["object","string"]}'
{
    "type": "list",
    "args": [
        "object",
        "string"
    ],
    "attr": {
        "any": {
            "sym": "object",
            "lo": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": "string",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "object",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["object","object"]}'
json: error: <stdin>:1:33: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:33: {"type":"list","args":["object","object"]}
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '{"type":"list","args":["object","object"]}'
$ json <<< '{"type":"list","args":["object","array"]}'
{
    "type": "list",
    "args": [
        "object",
        "array"
    ],
    "attr": {
        "any": {
            "sym": "object",
            "lo": null,
            "eq": {
                "val": "object",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": "array",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["array","type"]}'
{
    "type": "list",
    "args": [
        "array",
        "type"
    ],
    "attr": {
        "any": {
            "sym": "array",
            "lo": null,
            "eq": {
                "val": "array",
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": "type",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["array","null"]}'
{
    "type": "list",
    "args": [
        "array",
        "null"
    ],
    "attr": {
        "any": {
            "sym": "array",
            "lo": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": "null",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "array",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["array","boolean"]}'
{
    "type": "list",
    "args": [
        "array",
        "boolean"
    ],
    "attr": {
        "any": {
            "sym": "array",
            "lo": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": "boolean",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "array",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["array","number"]}'
{
    "type": "list",
    "args": [
        "array",
        "number"
    ],
    "attr": {
        "any": {
            "sym": "array",
            "lo": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": "number",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "array",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["array","string"]}'
{
    "type": "list",
    "args": [
        "array",
        "string"
    ],
    "attr": {
        "any": {
            "sym": "array",
            "lo": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": "string",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "array",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["array","object"]}'
{
    "type": "list",
    "args": [
        "array",
        "object"
    ],
    "attr": {
        "any": {
            "sym": "array",
            "lo": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": "object",
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": "array",
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":["array","array"]}'
json: error: <stdin>:1:32: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:32: {"type":"list","args":["array","array"]}
json: error: <stdin>:1:32:                                ^
command failed: json <<< '{"type":"list","args":["array","array"]}'
$

--[ list-plain ]----------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123; do T='{"type":"list","args":[{"plain":'"$v"'}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"plain":null}]}'
{
    "type": "list",
    "args": [
        {
            "plain": null
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": null
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": null
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":false}]}'
{
    "type": "list",
    "args": [
        {
            "plain": false
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": false
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": false
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":true}]}'
{
    "type": "list",
    "args": [
        {
            "plain": true
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": true
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": true
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":123}]}'
{
    "type": "list",
    "args": [
        {
            "plain": 123
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": 123
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": 123
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$

--[ list-plain2 ]---------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123; do for v2 in null false true 123; do T='{"type":"list","args":[{"plain":'"$v"'},{"plain":'"$v2"'}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done; done
#
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":null}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":null},{"plain":null}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":false}]}'
{
    "type": "list",
    "args": [
        {
            "plain": null
        },
        {
            "plain": false
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": null
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": null
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": false
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": false
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":true}]}'
{
    "type": "list",
    "args": [
        {
            "plain": null
        },
        {
            "plain": true
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": null
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": null
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": true
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": true
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":123}]}'
{
    "type": "list",
    "args": [
        {
            "plain": null
        },
        {
            "plain": 123
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": null
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": null
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":null}]}'
{
    "type": "list",
    "args": [
        {
            "plain": false
        },
        {
            "plain": null
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": false
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": false
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":false}]}'
json: error: <stdin>:1:40: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:40: :"list","args":[{"plain":false},{"plain":false}]}
json: error: <stdin>:1:40:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":true}]}'
{
    "type": "list",
    "args": [
        {
            "plain": false
        },
        {
            "plain": true
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": false
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": false
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": true
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": true
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":123}]}'
{
    "type": "list",
    "args": [
        {
            "plain": false
        },
        {
            "plain": 123
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": false
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": false
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":null}]}'
{
    "type": "list",
    "args": [
        {
            "plain": true
        },
        {
            "plain": null
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": true
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": true
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":false}]}'
{
    "type": "list",
    "args": [
        {
            "plain": true
        },
        {
            "plain": false
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": true
            },
            "lo": {
                "sym": {
                    "plain": false
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": false
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": true
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":true}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":true},{"plain":true}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":123}]}'
{
    "type": "list",
    "args": [
        {
            "plain": true
        },
        {
            "plain": 123
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": true
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": true
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":null}]}'
{
    "type": "list",
    "args": [
        {
            "plain": 123
        },
        {
            "plain": null
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": 123
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": 123
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":false}]}'
{
    "type": "list",
    "args": [
        {
            "plain": 123
        },
        {
            "plain": false
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": 123
            },
            "lo": {
                "sym": {
                    "plain": false
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": false
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": 123
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":true}]}'
{
    "type": "list",
    "args": [
        {
            "plain": 123
        },
        {
            "plain": true
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": 123
            },
            "lo": {
                "sym": {
                    "plain": true
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": true
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": 123
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":123}]}'
json: error: <stdin>:1:38: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:38: e":"list","args":[{"plain":123},{"plain":123}]}
json: error: <stdin>:1:38:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":123}]}'
$

--[ list-plain3 ]---------------------------------------------------------------

#
# # meta command:
# $ for v in null false true 123; do for v2 in null false true 123; do for v3 in null false true 123; do T='{"type":"list","args":[{"plain":'"$v"'},{"plain":'"$v2"'},{"plain":'"$v3"'}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done; done; done
#
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":null},{"plain":null}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":null},{"plain":null},{"plain":null}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":null},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":null},{"plain":false}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":null},{"plain":null},{"plain":false}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":null},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":null},{"plain":true}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":null},{"plain":null},{"plain":true}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":null},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":null},{"plain":123}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":null},{"plain":null},{"plain":123}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":null},{"plain":123}]}'
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":false},{"plain":null}]}'
json: error: <stdin>:1:55: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:55: [{"plain":null},{"plain":false},{"plain":null}]}
json: error: <stdin>:1:55:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":false},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":false},{"plain":false}]}'
json: error: <stdin>:1:55: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:39)
json: error: <stdin>:1:55: [{"plain":null},{"plain":false},{"plain":false}]}
json: error: <stdin>:1:55:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":false},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":false},{"plain":true}]}'
{
    "type": "list",
    "args": [
        {
            "plain": null
        },
        {
            "plain": false
        },
        {
            "plain": true
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": null
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": null
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": false
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": false
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "plain": true
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": true
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":false},{"plain":123}]}'
{
    "type": "list",
    "args": [
        {
            "plain": null
        },
        {
            "plain": false
        },
        {
            "plain": 123
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": null
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": null
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": false
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": false
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "plain": 123
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": 123
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":true},{"plain":null}]}'
json: error: <stdin>:1:54: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:54: :[{"plain":null},{"plain":true},{"plain":null}]}
json: error: <stdin>:1:54:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":true},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":true},{"plain":false}]}'
{
    "type": "list",
    "args": [
        {
            "plain": null
        },
        {
            "plain": true
        },
        {
            "plain": false
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": null
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": null
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": true
                },
                "lo": {
                    "sym": {
                        "plain": false
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": false
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "plain": true
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":true},{"plain":true}]}'
json: error: <stdin>:1:54: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:39)
json: error: <stdin>:1:54: :[{"plain":null},{"plain":true},{"plain":true}]}
json: error: <stdin>:1:54:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":true},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":true},{"plain":123}]}'
{
    "type": "list",
    "args": [
        {
            "plain": null
        },
        {
            "plain": true
        },
        {
            "plain": 123
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": null
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": null
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": true
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": true
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "plain": 123
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": 123
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":123},{"plain":null}]}'
json: error: <stdin>:1:53: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:53: ":[{"plain":null},{"plain":123},{"plain":null}]}
json: error: <stdin>:1:53:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":123},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":123},{"plain":false}]}'
{
    "type": "list",
    "args": [
        {
            "plain": null
        },
        {
            "plain": 123
        },
        {
            "plain": false
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": null
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": null
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": {
                    "sym": {
                        "plain": false
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": false
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":123},{"plain":true}]}'
{
    "type": "list",
    "args": [
        {
            "plain": null
        },
        {
            "plain": 123
        },
        {
            "plain": true
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": null
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": null
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": {
                    "sym": {
                        "plain": true
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": true
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":123},{"plain":123}]}'
json: error: <stdin>:1:53: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:39)
json: error: <stdin>:1:53: ":[{"plain":null},{"plain":123},{"plain":123}]}
json: error: <stdin>:1:53:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":123},{"plain":123}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":null},{"plain":null}]}'
json: error: <stdin>:1:55: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:40)
json: error: <stdin>:1:55: [{"plain":false},{"plain":null},{"plain":null}]}
json: error: <stdin>:1:55:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":null},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":null},{"plain":false}]}'
json: error: <stdin>:1:55: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:55: [{"plain":false},{"plain":null},{"plain":false}]}
json: error: <stdin>:1:55:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":null},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":null},{"plain":true}]}'
{
    "type": "list",
    "args": [
        {
            "plain": false
        },
        {
            "plain": null
        },
        {
            "plain": true
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": false
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": false
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": true
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": true
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":null},{"plain":123}]}'
{
    "type": "list",
    "args": [
        {
            "plain": false
        },
        {
            "plain": null
        },
        {
            "plain": 123
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": false
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": false
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":false},{"plain":null}]}'
json: error: <stdin>:1:40: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:40: :"list","args":[{"plain":false},{"plain":false},{"plain":null}]}
json: error: <stdin>:1:40:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":false},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":false},{"plain":false}]}'
json: error: <stdin>:1:40: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:40: :"list","args":[{"plain":false},{"plain":false},{"plain":false}]}
json: error: <stdin>:1:40:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":false},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":false},{"plain":true}]}'
json: error: <stdin>:1:40: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:40: :"list","args":[{"plain":false},{"plain":false},{"plain":true}]}
json: error: <stdin>:1:40:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":false},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":false},{"plain":123}]}'
json: error: <stdin>:1:40: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:40: :"list","args":[{"plain":false},{"plain":false},{"plain":123}]}
json: error: <stdin>:1:40:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":false},{"plain":123}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":true},{"plain":null}]}'
{
    "type": "list",
    "args": [
        {
            "plain": false
        },
        {
            "plain": true
        },
        {
            "plain": null
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": false
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": false
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": true
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": true
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":true},{"plain":false}]}'
json: error: <stdin>:1:55: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:55: [{"plain":false},{"plain":true},{"plain":false}]}
json: error: <stdin>:1:55:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":true},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":true},{"plain":true}]}'
json: error: <stdin>:1:55: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:40)
json: error: <stdin>:1:55: [{"plain":false},{"plain":true},{"plain":true}]}
json: error: <stdin>:1:55:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":true},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":true},{"plain":123}]}'
{
    "type": "list",
    "args": [
        {
            "plain": false
        },
        {
            "plain": true
        },
        {
            "plain": 123
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": false
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": false
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": true
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": true
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "plain": 123
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": 123
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":123},{"plain":null}]}'
{
    "type": "list",
    "args": [
        {
            "plain": false
        },
        {
            "plain": 123
        },
        {
            "plain": null
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": false
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": false
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":123},{"plain":false}]}'
json: error: <stdin>:1:54: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:54: :[{"plain":false},{"plain":123},{"plain":false}]}
json: error: <stdin>:1:54:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":123},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":123},{"plain":true}]}'
{
    "type": "list",
    "args": [
        {
            "plain": false
        },
        {
            "plain": 123
        },
        {
            "plain": true
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": false
            },
            "lo": null,
            "eq": {
                "val": {
                    "plain": false
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": {
                    "sym": {
                        "plain": true
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": true
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":123},{"plain":123}]}'
json: error: <stdin>:1:54: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:40)
json: error: <stdin>:1:54: :[{"plain":false},{"plain":123},{"plain":123}]}
json: error: <stdin>:1:54:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":123},{"plain":123}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":null},{"plain":null}]}'
json: error: <stdin>:1:54: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:39)
json: error: <stdin>:1:54: :[{"plain":true},{"plain":null},{"plain":null}]}
json: error: <stdin>:1:54:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":null},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":null},{"plain":false}]}'
{
    "type": "list",
    "args": [
        {
            "plain": true
        },
        {
            "plain": null
        },
        {
            "plain": false
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": true
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "plain": false
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": false
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "eq": {
                "val": {
                    "plain": true
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":null},{"plain":true}]}'
json: error: <stdin>:1:54: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:54: :[{"plain":true},{"plain":null},{"plain":true}]}
json: error: <stdin>:1:54:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":null},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":null},{"plain":123}]}'
{
    "type": "list",
    "args": [
        {
            "plain": true
        },
        {
            "plain": null
        },
        {
            "plain": 123
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": true
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": true
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":false},{"plain":null}]}'
{
    "type": "list",
    "args": [
        {
            "plain": true
        },
        {
            "plain": false
        },
        {
            "plain": null
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": true
            },
            "lo": {
                "sym": {
                    "plain": false
                },
                "lo": {
                    "sym": {
                        "plain": null
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": null
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "plain": false
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": true
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":false},{"plain":false}]}'
json: error: <stdin>:1:55: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:39)
json: error: <stdin>:1:55: [{"plain":true},{"plain":false},{"plain":false}]}
json: error: <stdin>:1:55:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":false},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":false},{"plain":true}]}'
json: error: <stdin>:1:55: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:55: [{"plain":true},{"plain":false},{"plain":true}]}
json: error: <stdin>:1:55:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":false},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":false},{"plain":123}]}'
{
    "type": "list",
    "args": [
        {
            "plain": true
        },
        {
            "plain": false
        },
        {
            "plain": 123
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": true
            },
            "lo": {
                "sym": {
                    "plain": false
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": false
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": true
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":true},{"plain":null}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":true},{"plain":true},{"plain":null}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":true},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":true},{"plain":false}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":true},{"plain":true},{"plain":false}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":true},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":true},{"plain":true}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":true},{"plain":true},{"plain":true}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":true},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":true},{"plain":123}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":true},{"plain":true},{"plain":123}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":true},{"plain":123}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":123},{"plain":null}]}'
{
    "type": "list",
    "args": [
        {
            "plain": true
        },
        {
            "plain": 123
        },
        {
            "plain": null
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": true
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": true
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":123},{"plain":false}]}'
{
    "type": "list",
    "args": [
        {
            "plain": true
        },
        {
            "plain": 123
        },
        {
            "plain": false
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": true
            },
            "lo": {
                "sym": {
                    "plain": false
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": false
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": true
                },
                "lo": null,
                "hi": null
            },
            "hi": {
                "sym": {
                    "plain": 123
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": 123
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":123},{"plain":true}]}'
json: error: <stdin>:1:53: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:53: ":[{"plain":true},{"plain":123},{"plain":true}]}
json: error: <stdin>:1:53:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":123},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":123},{"plain":123}]}'
json: error: <stdin>:1:53: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:39)
json: error: <stdin>:1:53: ":[{"plain":true},{"plain":123},{"plain":123}]}
json: error: <stdin>:1:53:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":123},{"plain":123}]}'
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":null},{"plain":null}]}'
json: error: <stdin>:1:53: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:38)
json: error: <stdin>:1:53: ":[{"plain":123},{"plain":null},{"plain":null}]}
json: error: <stdin>:1:53:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":null},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":null},{"plain":false}]}'
{
    "type": "list",
    "args": [
        {
            "plain": 123
        },
        {
            "plain": null
        },
        {
            "plain": false
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": 123
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "plain": false
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": false
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "eq": {
                "val": {
                    "plain": 123
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":null},{"plain":true}]}'
{
    "type": "list",
    "args": [
        {
            "plain": 123
        },
        {
            "plain": null
        },
        {
            "plain": true
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": 123
            },
            "lo": {
                "sym": {
                    "plain": null
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": null
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "plain": true
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": true
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "eq": {
                "val": {
                    "plain": 123
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":null},{"plain":123}]}'
json: error: <stdin>:1:53: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:53: ":[{"plain":123},{"plain":null},{"plain":123}]}
json: error: <stdin>:1:53:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":null},{"plain":123}]}'
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":false},{"plain":null}]}'
{
    "type": "list",
    "args": [
        {
            "plain": 123
        },
        {
            "plain": false
        },
        {
            "plain": null
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": 123
            },
            "lo": {
                "sym": {
                    "plain": false
                },
                "lo": {
                    "sym": {
                        "plain": null
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": null
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "plain": false
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": 123
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":false},{"plain":false}]}'
json: error: <stdin>:1:54: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:38)
json: error: <stdin>:1:54: :[{"plain":123},{"plain":false},{"plain":false}]}
json: error: <stdin>:1:54:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":false},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":false},{"plain":true}]}'
{
    "type": "list",
    "args": [
        {
            "plain": 123
        },
        {
            "plain": false
        },
        {
            "plain": true
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": 123
            },
            "lo": {
                "sym": {
                    "plain": false
                },
                "lo": null,
                "eq": {
                    "val": {
                        "plain": false
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "plain": true
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": true
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "eq": {
                "val": {
                    "plain": 123
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":false},{"plain":123}]}'
json: error: <stdin>:1:54: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:54: :[{"plain":123},{"plain":false},{"plain":123}]}
json: error: <stdin>:1:54:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":false},{"plain":123}]}'
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":true},{"plain":null}]}'
{
    "type": "list",
    "args": [
        {
            "plain": 123
        },
        {
            "plain": true
        },
        {
            "plain": null
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": 123
            },
            "lo": {
                "sym": {
                    "plain": true
                },
                "lo": {
                    "sym": {
                        "plain": null
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": null
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "plain": true
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": 123
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":true},{"plain":false}]}'
{
    "type": "list",
    "args": [
        {
            "plain": 123
        },
        {
            "plain": true
        },
        {
            "plain": false
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": 123
            },
            "lo": {
                "sym": {
                    "plain": true
                },
                "lo": {
                    "sym": {
                        "plain": false
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": false
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "plain": true
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "eq": {
                "val": {
                    "plain": 123
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": null,
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":true},{"plain":true}]}'
json: error: <stdin>:1:53: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:38)
json: error: <stdin>:1:53: ":[{"plain":123},{"plain":true},{"plain":true}]}
json: error: <stdin>:1:53:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":true},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":true},{"plain":123}]}'
json: error: <stdin>:1:53: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:53: ":[{"plain":123},{"plain":true},{"plain":123}]}
json: error: <stdin>:1:53:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":true},{"plain":123}]}'
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":123},{"plain":null}]}'
json: error: <stdin>:1:38: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:38: e":"list","args":[{"plain":123},{"plain":123},{"plain":null}]}
json: error: <stdin>:1:38:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":123},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":123},{"plain":false}]}'
json: error: <stdin>:1:38: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:38: e":"list","args":[{"plain":123},{"plain":123},{"plain":false}]}
json: error: <stdin>:1:38:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":123},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":123},{"plain":true}]}'
json: error: <stdin>:1:38: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:38: e":"list","args":[{"plain":123},{"plain":123},{"plain":true}]}
json: error: <stdin>:1:38:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":123},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":123},{"plain":123}]}'
json: error: <stdin>:1:38: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:38: e":"list","args":[{"plain":123},{"plain":123},{"plain":123}]}
json: error: <stdin>:1:38:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":123},{"plain":123}]}'
$

--[ list-empty-object ]---------------------------------------------------------

$ json <<< '{"type":"list","args":[{"type":"object","args":[]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": []
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "val": {
                "type": "object",
                "args": []
            },
            "lo": null,
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}'
json: error: <stdin>:1:52: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:52: s":[{"type":"object","args":[]},{"type":"object","args":[]}]}
json: error: <stdin>:1:52:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[]},{"type":"object","args":[]},{"type":"object","args":[]}]}'
json: error: <stdin>:1:52: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:52: s":[{"type":"object","args":[]},{"type":"object","args":[]},{"typ
json: error: <stdin>:1:52:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[]},{"type":"object","args":[]},{"type":"object","args":[]}]}'
$

--[ list-object ]---------------------------------------------------------------

#
# # meta command:
# $ for t in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":'"$t"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "null"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "null"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "boolean"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "boolean"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "number"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "string"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "string"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "object"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "object"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "array"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "array"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": []
                    }
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": []
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": "type"
                    }
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": "type"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$

#
# # meta meta command:
# $ o=0; a=0; A=('"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'); L=''; for t in "${A[@]}"; do L+="${L:+ }'$t'"; done; for t in "${A[@]}"; do case "$t" in \"*) n="any-${t:1:$((${#t} - 2))}";; \{\"type\":\"object\"*) n="$((++ o))"; test "$n" -eq 1 && n=""; n="object$n";; \{\"type\":\"array\"*)  n="$((++ a))"; test "$n" -eq 1 && n=""; n="array$n";; *) error "unexpected t='$t'";; esac; n="--[ list-object-$n ]"; printf -v n2 "%$((80 - ${#n}))s"; echo -e "$n$(sed 's/ /-/g' <<< "$n2")\n"; T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":'"$t"'}]},{"type":"object","args":[{"name":"foo","type":'\''"$t2"'\''}]}]}'; C="for t2 in $L; do T='$T'; c=\"json <<< '\$T'\"; echo \"$ \$c\"; eval \"\$c\"; test \$? -ne 0 && echo \"command failed: \$c\"; done"; echo -e "#\n# # meta command:\n# $ $C\n#"; eval "$C 2>&1"; echo -e "$\n"; done
#

--[ list-object-any-type ]------------------------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":'"$t2"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
json: error: <stdin>:1:80: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:80: [{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":
json: error: <stdin>:1:80:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:126)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":"type"}]},{"type":"object","args"
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "type"
                },
                "lo": {
                    "sym": {
                        "node": "null"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "null"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:126)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":"type"}]},{"type":"object","args"
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "type"
                },
                "lo": {
                    "sym": {
                        "node": "boolean"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "boolean"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:126)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":"type"}]},{"type":"object","args"
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "type"
                },
                "lo": {
                    "sym": {
                        "node": "number"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:126)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":"type"}]},{"type":"object","args"
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "type"
                },
                "lo": {
                    "sym": {
                        "node": "string"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "string"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:126)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":"type"}]},{"type":"object","args"
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "type"
                },
                "lo": {
                    "sym": {
                        "node": "object"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "object"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:126)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":"type"}]},{"type":"object","args"
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "type"
                },
                "lo": {
                    "sym": {
                        "node": "array"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "array"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
json: error: <stdin>:1:126: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:126: t","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}
json: error: <stdin>:1:126:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": []
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
json: error: <stdin>:1:126: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:126: t","args":[{"name":"foo","type":{"type":"object","args":[{"name":
json: error: <stdin>:1:126:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
json: error: <stdin>:1:126: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:126: t","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}
json: error: <stdin>:1:126:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": "type"
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
json: error: <stdin>:1:126: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:126: t","args":[{"name":"foo","type":{"type":"array","args":["number",
json: error: <stdin>:1:126:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"type"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
$

--[ list-object-any-null ]------------------------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":'"$t2"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
json: error: <stdin>:1:126: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:126: t","args":[{"name":"foo","type":"type"}]}]}
json: error: <stdin>:1:126:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "null"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "null"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
json: error: <stdin>:1:80: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:80: [{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":
json: error: <stdin>:1:80:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "null"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "null"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "boolean"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "boolean"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "null"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "null"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "number"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "null"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "null"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "string"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "string"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "null"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "null"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "object"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "object"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "null"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "null"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "array"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "array"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "null"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "null"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": []
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "null"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "null"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "null"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "null"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": "type"
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"null"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "null"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "null"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$

--[ list-object-any-boolean ]---------------------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":'"$t2"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
json: error: <stdin>:1:129: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:129: t","args":[{"name":"foo","type":"type"}]}]}
json: error: <stdin>:1:129:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "boolean"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "boolean"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "boolean"
                },
                "lo": {
                    "sym": {
                        "node": "null"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "null"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "boolean"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:83: name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "boolean"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "boolean"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "number"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "boolean"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "boolean"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "string"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "string"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "boolean"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "boolean"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "object"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "object"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "boolean"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "boolean"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "array"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "array"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "boolean"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "boolean"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": []
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "boolean"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "boolean"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "boolean"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "boolean"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": "type"
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"boolean"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "boolean"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "boolean"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$

--[ list-object-any-number ]----------------------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":'"$t2"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
json: error: <stdin>:1:128: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:128: t","args":[{"name":"foo","type":"type"}]}]}
json: error: <stdin>:1:128:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "number"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "number"
                },
                "lo": {
                    "sym": {
                        "node": "null"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "null"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "number"
                },
                "lo": {
                    "sym": {
                        "node": "boolean"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "boolean"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:82: "name":"foo","type":"number"}]},{"type":"object","args":[{"name":
json: error: <stdin>:1:82:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "number"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "string"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "string"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "number"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "object"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "object"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "number"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "array"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "array"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "number"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": []
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "number"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "number"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": "type"
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"number"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "number"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$

--[ list-object-any-string ]----------------------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":'"$t2"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
json: error: <stdin>:1:128: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:128: t","args":[{"name":"foo","type":"type"}]}]}
json: error: <stdin>:1:128:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "string"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "string"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "string"
                },
                "lo": {
                    "sym": {
                        "node": "null"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "null"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "string"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "string"
                },
                "lo": {
                    "sym": {
                        "node": "boolean"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "boolean"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "string"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "string"
                },
                "lo": {
                    "sym": {
                        "node": "number"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "string"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:82: "name":"foo","type":"string"}]},{"type":"object","args":[{"name":
json: error: <stdin>:1:82:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "string"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "string"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "object"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "object"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "string"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "string"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "array"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "array"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "string"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "string"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": []
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "string"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "string"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "string"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "string"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": "type"
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"string"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "string"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "string"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$

--[ list-object-any-object ]----------------------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":'"$t2"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
json: error: <stdin>:1:128: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:128: t","args":[{"name":"foo","type":"type"}]}]}
json: error: <stdin>:1:128:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "object"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "object"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "object"
                },
                "lo": {
                    "sym": {
                        "node": "null"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "null"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "object"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "object"
                },
                "lo": {
                    "sym": {
                        "node": "boolean"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "boolean"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "object"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "object"
                },
                "lo": {
                    "sym": {
                        "node": "number"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "object"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "object"
                },
                "lo": {
                    "sym": {
                        "node": "string"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "string"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "object"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:82: "name":"foo","type":"object"}]},{"type":"object","args":[{"name":
json: error: <stdin>:1:82:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "object"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "object"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "array"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "array"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
json: error: <stdin>:1:128: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:128: t","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}
json: error: <stdin>:1:128:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "object"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "object"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": []
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
json: error: <stdin>:1:128: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:128: t","args":[{"name":"foo","type":{"type":"object","args":[{"name":
json: error: <stdin>:1:128:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "object"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "object"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "object"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "object"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": "type"
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"object"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "object"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "object"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$

--[ list-object-any-array ]-----------------------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":'"$t2"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
json: error: <stdin>:1:127: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:127: t","args":[{"name":"foo","type":"type"}]}]}
json: error: <stdin>:1:127:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "array"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "array"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "array"
                },
                "lo": {
                    "sym": {
                        "node": "null"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "null"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "array"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "array"
                },
                "lo": {
                    "sym": {
                        "node": "boolean"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "boolean"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "array"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "array"
                },
                "lo": {
                    "sym": {
                        "node": "number"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "array"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "array"
                },
                "lo": {
                    "sym": {
                        "node": "string"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "string"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "array"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "array"
                },
                "lo": {
                    "sym": {
                        "node": "object"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "object"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "array"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:81: {"name":"foo","type":"array"}]},{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "array"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "array"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": []
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "array"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "array"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
json: error: <stdin>:1:127: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:127: t","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}
json: error: <stdin>:1:127:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "array"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "array"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": "type"
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
json: error: <stdin>:1:127: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:70)
json: error: <stdin>:1:127: t","args":[{"name":"foo","type":{"type":"array","args":["number",
json: error: <stdin>:1:127:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": "array"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": "array"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":"array"}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
$

--[ list-object-object ]--------------------------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":'"$t2"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:147)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": []
                    }
                },
                "lo": {
                    "sym": {
                        "node": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": []
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": []
                    }
                },
                "lo": {
                    "sym": {
                        "node": "null"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "null"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": []
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": []
                    }
                },
                "lo": {
                    "sym": {
                        "node": "boolean"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "boolean"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": []
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": []
                    }
                },
                "lo": {
                    "sym": {
                        "node": "number"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": []
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": []
                    }
                },
                "lo": {
                    "sym": {
                        "node": "string"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "string"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": []
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:147)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": []
                    }
                },
                "lo": {
                    "sym": {
                        "node": "object"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "object"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": []
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": []
                    }
                },
                "lo": {
                    "sym": {
                        "node": "array"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "array"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": []
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
json: error: <stdin>:1:101: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:101: :{"type":"object","args":[]}}]},{"type":"object","args":[{"name":
json: error: <stdin>:1:101:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: sort of object of object type not yet supported (the other inner object is at 1:147)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": []
                    }
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": []
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": []
                    }
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": []
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": "type"
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": []
                    }
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": []
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$

--[ list-object-object2 ]-------------------------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":'"$t2"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:209)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":{"type":"object","args":[{"name":
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "null"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "null"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "boolean"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "boolean"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "number"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "string"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "string"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:209)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":{"type":"object","args":[{"name":
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "object"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "object"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "array"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "array"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
json: error: <stdin>:1:209: attribute error: invalid "list" type object: sort of object of object type not yet supported (the other inner object is at 1:70)
json: error: <stdin>:1:209: t","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}
json: error: <stdin>:1:209:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": []
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
json: error: <stdin>:1:163: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:163: me":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":
json: error: <stdin>:1:163:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": "type"
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$

--[ list-object-array ]---------------------------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":'"$t2"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:150)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": "type"
                    }
                },
                "lo": {
                    "sym": {
                        "node": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": "type"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": "type"
                    }
                },
                "lo": {
                    "sym": {
                        "node": "null"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "null"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": "type"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": "type"
                    }
                },
                "lo": {
                    "sym": {
                        "node": "boolean"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "boolean"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": "type"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": "type"
                    }
                },
                "lo": {
                    "sym": {
                        "node": "number"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": "type"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": "type"
                    }
                },
                "lo": {
                    "sym": {
                        "node": "string"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "string"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": "type"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": "type"
                    }
                },
                "lo": {
                    "sym": {
                        "node": "object"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "object"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": "type"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:150)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": "type"
                    }
                },
                "lo": {
                    "sym": {
                        "node": "array"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "array"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": "type"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": "type"
                    }
                },
                "lo": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": []
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": "type"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": "type"
                    }
                },
                "lo": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": "type"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
json: error: <stdin>:1:104: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:104: type":"array","args":"type"}}]},{"type":"object","args":[{"name":
json: error: <stdin>:1:104:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: sort of object of array type not yet supported (the other inner array is at 1:150)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": "type"
                    }
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": "type"
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
$

--[ list-object-array2 ]--------------------------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":'"$t2"'}]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:163)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":{"type":"array","args":["number",
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":"null"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "null"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "null"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "null"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":"boolean"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "boolean"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "boolean"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "boolean"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":"number"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "number"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "number"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":"string"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "string"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "string"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":"object"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "object"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "object"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "object"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
json: error: <stdin>:1:70: attribute error: invalid "list" type object: object argument ambiguity (the other is at 1:163)
json: error: <stdin>:1:70: t","args":[{"name":"foo","type":{"type":"array","args":["number",
json: error: <stdin>:1:70:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": "array"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": "array"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": "array"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":"array"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": []
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": []
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
json: error: <stdin>:1:163: attribute error: invalid "list" type object: sort of object of array type not yet supported (the other inner array is at 1:70)
json: error: <stdin>:1:163: t","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}
json: error: <stdin>:1:163:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "foo",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": {
            "sym": {
                "name": "foo"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    }
                },
                "lo": {
                    "sym": {
                        "node": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "foo",
                                    "type": {
                                        "type": "array",
                                        "args": "type"
                                    }
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "foo",
                                "type": {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": null
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":"type"}}]}]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
json: error: <stdin>:1:117: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:117: ,"args":["number","object"]}}]},{"type":"object","args":[{"name":
json: error: <stdin>:1:117:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]},{"type":"object","args":[{"name":"foo","type":{"type":"array","args":["number","object"]}}]}]}'
$

#
# # end of meta meta command
#

--[ list-empty-closed-array ]---------------------------------------------------

$ json <<< '{"type":"list","args":[{"type":"array","args":[]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": []
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":[]}]}'
json: error: <stdin>:1:51: attribute error: invalid "list" type object: duplicated 'closed array' entry (previous defined at 1:24)
json: error: <stdin>:1:51: gs":[{"type":"array","args":[]},{"type":"array","args":[]}]}
json: error: <stdin>:1:51:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":[]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":[]},{"type":"array","args":[]}]}'
json: error: <stdin>:1:51: attribute error: invalid "list" type object: duplicated 'closed array' entry (previous defined at 1:24)
json: error: <stdin>:1:51: gs":[{"type":"array","args":[]},{"type":"array","args":[]},{"type
json: error: <stdin>:1:51:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":[]},{"type":"array","args":[]}]}'
$

--[ list-open-array-any-empty-closed-array ]------------------------------------

#
# # meta command:
# $ for t in type null boolean number string object array; do T='{"type":"list","args":[{"type":"array","args":"'"$t"'"},{"type":"array","args":[]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[]
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": []
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"null"},{"type":"array","args":[]
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": []
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:58)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"boolean"},{"type":"array","args"
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": []
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"number"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": []
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"string"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": []
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": []
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": []
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[]}]}'
$

#
# # meta meta command:
# $ o=0; a=0; A=('"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'); L=''; for t in "${A[@]}"; do L+="${L:+ }'$t'"; done; for t in "${A[@]}"; do case "$t" in \"*) n="any-${t:1:$((${#t} - 2))}";; \{\"type\":\"object\"*) n="$((++ o))"; test "$n" -eq 1 && n=""; n="object$n";; \{\"type\":\"array\"*)  n="$((++ a))"; test "$n" -eq 1 && n=""; n="array$n";; *) error "unexpected t='$t'";; esac; n="--[ list-open-array-$n-closed-array ]"; printf -v n2 "%$((80 - ${#n}))s"; echo -e "$n$(sed 's/ /-/g' <<< "$n2")\n"; T='{"type":"list","args":[{"type":"array","args":'"$t"'},{"type":"array","args":['\''"$t2"'\'']}]}'; C="for t2 in $L; do T='$T'; c=\"json <<< '\$T'\"; echo \"$ \$c\"; eval \"\$c\"; test \$? -ne 0 && echo \"command failed: \$c\"; done"; echo -e "#\n# # meta command:\n# $ $C\n#"; eval "$C 2>&1"; echo -e "$\n"; done
#

--[ list-open-array-any-type-closed-array ]-------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-null-closed-array ]-------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"null"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"null"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array ]----------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:58)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"boolean"},{"type":"array","args"
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:58)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"boolean"},{"type":"array","args"
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array ]-----------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"number"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"number"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array ]-----------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"string"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"string"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-object-closed-array ]-----------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-array-closed-array ]------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-object-closed-array ]---------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object2-closed-array ]--------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array-closed-array ]----------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-array2-closed-array ]---------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
$

#
# # end of meta meta command
#

--[ list-closed-array-any-closed-array-any ]------------------------------------

#
# # meta command:
# $ for t in type null boolean number string object array; do for t2 in type null boolean number string object array; do T='{"type":"list","args":[{"type":"array","args":["'"$t"'"]},{"type":"array","args":["'"$t2"'"]}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:57: attribute error: invalid "list" type object: duplicated 'closed array' entry (previous defined at 1:24)
json: error: <stdin>:1:57: "type":"array","args":["type"]},{"type":"array","args":["type"]}]
json: error: <stdin>:1:57:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null"]}]}'
json: error: <stdin>:1:57: attribute error: invalid "list" type object: duplicated 'closed array' entry (previous defined at 1:24)
json: error: <stdin>:1:57: "type":"array","args":["null"]},{"type":"array","args":["null"]}]
json: error: <stdin>:1:57:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean"]}]}'
json: error: <stdin>:1:60: attribute error: invalid "list" type object: duplicated 'closed array' entry (previous defined at 1:24)
json: error: <stdin>:1:60: pe":"array","args":["boolean"]},{"type":"array","args":["boolean"
json: error: <stdin>:1:60:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number"]}]}'
json: error: <stdin>:1:59: attribute error: invalid "list" type object: duplicated 'closed array' entry (previous defined at 1:24)
json: error: <stdin>:1:59: ype":"array","args":["number"]},{"type":"array","args":["number"]
json: error: <stdin>:1:59:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string"]}]}'
json: error: <stdin>:1:59: attribute error: invalid "list" type object: duplicated 'closed array' entry (previous defined at 1:24)
json: error: <stdin>:1:59: ype":"array","args":["string"]},{"type":"array","args":["string"]
json: error: <stdin>:1:59:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object"]}]}'
json: error: <stdin>:1:59: attribute error: invalid "list" type object: duplicated 'closed array' entry (previous defined at 1:24)
json: error: <stdin>:1:59: ype":"array","args":["object"]},{"type":"array","args":["object"]
json: error: <stdin>:1:59:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array"]}]}'
json: error: <stdin>:1:58: attribute error: invalid "list" type object: duplicated 'closed array' entry (previous defined at 1:24)
json: error: <stdin>:1:58: type":"array","args":["array"]},{"type":"array","args":["array"]}
json: error: <stdin>:1:58:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array"]}]}'
$

#
# # meta meta command:
# $ o=0; a=0; A=('"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'); L=''; for t in "${A[@]}"; do L+="${L:+ }'$t'"; done; for t in "${A[@]}"; do case "$t" in \"*) n="any-${t:1:$((${#t} - 2))}";; \{\"type\":\"object\"*) n="$((++ o))"; test "$n" -eq 1 && n=""; n="object$n";; \{\"type\":\"array\"*)  n="$((++ a))"; test "$n" -eq 1 && n=""; n="array$n";; *) error "unexpected t='$t'";; esac; n="--[ list-closed-array-$n-closed-array ]"; printf -v n2 "%$((80 - ${#n}))s"; echo -e "$n$(sed 's/ /-/g' <<< "$n2")\n"; T='{"type":"list","args":[{"type":"array","args":['"$t"']},{"type":"array","args":['\''"$t2"'\'']}]}'; C="for t2 in $L; do test \"\$t2\" == '$t' && continue; T='$T'; c=\"json <<< '\$T'\"; echo \"$ \$c\"; eval \"\$c\"; test \$? -ne 0 && echo \"command failed: \$c\"; done"; echo -e "#\n# # meta command:\n# $ $C\n#"; eval "$C 2>&1"; echo -e "$\n"; done
#

--[ list-closed-array-any-type-closed-array ]-----------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do test "$t2" == '"type"' && continue; T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]}]}]}
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"}]}]
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-null-closed-array ]-----------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do test "$t2" == '"null"' && continue; T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-boolean-closed-array ]--------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do test "$t2" == '"boolean"' && continue; T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-number-closed-array ]---------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do test "$t2" == '"number"' && continue; T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-string-closed-array ]---------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do test "$t2" == '"string"' && continue; T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-object-closed-array ]---------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do test "$t2" == '"object"' && continue; T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]}]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-array-closed-array ]----------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do test "$t2" == '"array"' && continue; T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type"]}]}
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"}]}]
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-object-closed-array ]-------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do test "$t2" == '{"type":"object","args":[]}' && continue; T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-object2-closed-array ]------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do test "$t2" == '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' && continue; T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]}]}]}
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-array-closed-array ]--------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do test "$t2" == '{"type":"array","args":"type"}' && continue; T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-array2-closed-array ]-------------------------------------

#
# # meta command:
# $ for t2 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do test "$t2" == '{"type":"array","args":["number","object"]}' && continue; T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":['"$t2"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"}]}]
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"}]}]}'
$

#
# # end of meta meta command
#

#
# # meta meta command:
# $ o=0; a=0; A=('"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'); L=''; for t in "${A[@]}"; do L+="${L:+ }'$t'"; done; for t in "${A[@]}"; do case "$t" in \"*) n="any-${t:1:$((${#t} - 2))}";; \{\"type\":\"object\"*) n="$((++ o))"; test "$n" -eq 1 && n=""; n="object$n";; \{\"type\":\"array\"*)  n="$((++ a))"; test "$n" -eq 1 && n=""; n="array$n";; *) error "unexpected t='$t'";; esac; o2=0; a2=0; for t2 in "${A[@]}"; do case "$t2" in \"*) n2="any-${t2:1:$((${#t2} - 2))}";; \{\"type\":\"object\"*) n2="$((++ o2))"; test "$n2" -eq 1 && n2=""; n2="object$n2";; \{\"type\":\"array\"*)  n2="$((++ a2))"; test "$n2" -eq 1 && n2=""; n2="array$n2";; *) error "unexpected t2='$t2'";; esac; n3="--[ list-open-array-$n-closed-array-$n2 ]"; printf -v N "%$((80 - ${#n3}))s"; echo -e "$n3$(sed 's/ /-/g' <<< "$N")\n"; T='{"type":"list","args":[{"type":"array","args":'"$t"'},{"type":"array","args":['"$t2"','\''"$t3"'\'']}]}'; C="for t3 in $L; do T='$T'; c=\"json <<< '\$T'\"; echo \"$ \$c\"; eval \"\$c\"; test \$? -ne 0 && echo \"command failed: \$c\"; done"; echo -e "#\n# # meta command:\n# $ $C\n#"; eval "$C 2>&1"; echo -e "$\n"; done; done
#

--[ list-open-array-any-type-closed-array-any-type ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-type-closed-array-any-null ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-type-closed-array-any-boolean ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-type-closed-array-any-number ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-type-closed-array-any-string ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-type-closed-array-any-object ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-type-closed-array-any-array ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-type-closed-array-object ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-type-closed-array-object2 ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-type-closed-array-array ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-type-closed-array-array2 ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"type"},{"type":"array","args":[{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "type"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-null-closed-array-any-type ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"null"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"null"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-null-closed-array-any-null ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"null"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:55)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"null"},{"type":"array","args":["
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-null-closed-array-any-boolean ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-null-closed-array-any-number ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-null-closed-array-any-string ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-null-closed-array-any-object ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-null-closed-array-any-array ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-null-closed-array-object ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-null-closed-array-object2 ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-null-closed-array-array ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-null-closed-array-array2 ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"null"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "null"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array-any-type ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:58)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"boolean"},{"type":"array","args"
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:58)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"boolean"},{"type":"array","args"
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array-any-null ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array-any-boolean ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:58)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"boolean"},{"type":"array","args"
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:58)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"boolean"},{"type":"array","args"
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array-any-number ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array-any-string ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array-any-object ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array-any-array ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array-object ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array-object2 ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array-array ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-boolean-closed-array-array2 ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"boolean"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "boolean"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array-any-type ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"number"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"number"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array-any-null ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array-any-boolean ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array-any-number ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"number"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"number"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array-any-string ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array-any-object ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array-any-array ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array-object ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array-object2 ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array-array ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-number-closed-array-array2 ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"number"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "number"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array-any-type ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"string"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"string"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array-any-null ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array-any-boolean ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array-any-number ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array-any-string ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"string"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"string"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array-any-object ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array-any-array ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array-object ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array-object2 ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array-array ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-string-closed-array-array2 ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"string"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "string"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-object-closed-array-any-type ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-object-closed-array-any-null ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-object-closed-array-any-boolean ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-object-closed-array-any-number ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-object-closed-array-any-string ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-object-closed-array-any-object ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-object-closed-array-any-array ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-object-closed-array-object ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-object-closed-array-object2 ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:57)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:81)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"object"},{"type":"array","args":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-object-closed-array-array ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-object-closed-array-array2 ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"object"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "object"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-array-closed-array-any-type ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-array-closed-array-any-null ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-array-closed-array-any-boolean ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-array-closed-array-any-number ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-array-closed-array-any-string ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-array-closed-array-any-object ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-array-closed-array-any-array ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-array-closed-array-object ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-array-closed-array-object2 ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-any-array-closed-array-array ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-any-array-closed-array-array2 ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:80)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:56)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":"array"},{"type":"array","args":[
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": "array"
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"array"},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-object-closed-array-any-type ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object-closed-array-any-null ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object-closed-array-any-boolean ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object-closed-array-any-number ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object-closed-array-any-string ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object-closed-array-any-object ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-object-closed-array-any-array ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object-closed-array-object ]--------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:76)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-object-closed-array-object2 ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:100)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[]}},{"ty
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-object-closed-array-array ]---------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object-closed-array-array2 ]--------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": []
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": []
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object2-closed-array-any-type ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object2-closed-array-any-null ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object2-closed-array-any-boolean ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object2-closed-array-any-number ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object2-closed-array-any-string ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object2-closed-array-any-object ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-object2-closed-array-any-array ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object2-closed-array-object ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-object2-closed-array-object2 ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:138)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:162)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"object","args":[{"name":
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-object2-closed-array-array ]--------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-object2-closed-array-array2 ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "object",
                "args": [
                    {
                        "name": "bar",
                        "type": "boolean"
                    },
                    {
                        "name": "baz",
                        "type": "number"
                    }
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array-closed-array-any-type ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array-closed-array-any-null ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array-closed-array-any-boolean ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array-closed-array-any-number ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array-closed-array-any-string ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array-closed-array-any-object ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array-closed-array-any-array ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-array-closed-array-object ]---------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array-closed-array-object2 ]--------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array-closed-array-array ]----------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:79)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-array-closed-array-array2 ]---------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:103)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":"type"}},{
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": "type"
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": "type"
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":"type"}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-array2-closed-array-any-type ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "type",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-array2-closed-array-any-null ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "null",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array2-closed-array-any-boolean ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "boolean",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array2-closed-array-any-number ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "number",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array2-closed-array-any-string ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "string",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array2-closed-array-any-object ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "object",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array2-closed-array-any-array ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                "array",
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-array2-closed-array-object ]--------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": []
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array2-closed-array-object2 ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-open-array-array2-closed-array-array ]---------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": "type"
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-open-array-array2-closed-array-array2 ]--------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "type"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "null"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "boolean"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "number"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "string"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "object"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                "array"
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": []
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "bar",
                                            "type": "boolean"
                                        },
                                        {
                                            "name": "baz",
                                            "type": "number"
                                        }
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:116)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": "type"
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:47: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:92)
json: error: <stdin>:1:47: ,"args":[{"type":"array","args":{"type":"array","args":["number",
json: error: <stdin>:1:47:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": {
                "type": "array",
                "args": [
                    "number",
                    "object"
                ]
            }
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        }
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "type": "array",
                            "args": [
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                },
                                {
                                    "type": "array",
                                    "args": [
                                        "number",
                                        "object"
                                    ]
                                }
                            ]
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":{"type":"array","args":["number","object"]}},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
$

#
# # end of meta meta command
#

#
# # meta meta command:
# $ o=0; a=0; A=('"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'); L=''; for t in "${A[@]}"; do L+="${L:+ }'$t'"; done; for t in "${A[@]}"; do case "$t" in \"*) n="any-${t:1:$((${#t} - 2))}";; \{\"type\":\"object\"*) n="$((++ o))"; test "$n" -eq 1 && n=""; n="object$n";; \{\"type\":\"array\"*)  n="$((++ a))"; test "$n" -eq 1 && n=""; n="array$n";; *) error "unexpected t='$t'";; esac; o2=0; a2=0; for t2 in "${A[@]}"; do case "$t2" in \"*) n2="any-${t2:1:$((${#t2} - 2))}";; \{\"type\":\"object\"*) n2="$((++ o2))"; test "$n2" -eq 1 && n2=""; n2="object$n2";; \{\"type\":\"array\"*)  n2="$((++ a2))"; test "$n2" -eq 1 && n2=""; n2="array$n2";; *) error "unexpected t2='$t2'";; esac; n3="--[ list-closed-array-$n-closed-array-$n2 ]"; printf -v N "%$((80 - ${#n3}))s"; echo -e "$n3$(sed 's/ /-/g' <<< "$N")\n"; T='{"type":"list","args":[{"type":"array","args":['"$t"']},{"type":"array","args":['"$t2"','\''"$t3"'\'']}]}'; C="for t3 in $L; do T='$T'; c=\"json <<< '\$T'\"; echo \"$ \$c\"; eval \"\$c\"; test \$? -ne 0 && echo \"command failed: \$c\"; done"; echo -e "#\n# # meta command:\n# $ $C\n#"; eval "$C 2>&1"; echo -e "$\n"; done; done
#

--[ list-closed-array-any-type-closed-array-any-type ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-type-closed-array-any-null ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-type-closed-array-any-boolean ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-type-closed-array-any-number ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-type-closed-array-any-string ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-type-closed-array-any-object ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-type-closed-array-any-array ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:81)
json: error: <stdin>:1:48: "args":[{"type":"array","args":["type"]},{"type":"array","args":[
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-type-closed-array-object ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]},"type
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]},"null
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]},"bool
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]},"numb
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]},"stri
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]},"obje
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]},"arra
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-type-closed-array-object2 ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-type-closed-array-array ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"},"t
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"},"n
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"},"b
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"},"n
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"},"s
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"},"o
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"},"a
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-type-closed-array-array2 ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: type"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "type"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "type"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-null-closed-array-any-type ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type","type"]}]}
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type","null"]}]}
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type","boolean"]}]}
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type","number"]}]}
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type","string"]}]}
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type","object"]}]}
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type","array"]}]}
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type",{"type":"object","args":[]
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type",{"type":"object","args":[{
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type",{"type":"array","args":"ty
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:81: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:81: null"]},{"type":"array","args":["type",{"type":"array","args":["n
json: error: <stdin>:1:81:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-null-closed-array-any-null ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-null-closed-array-any-boolean ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-null-closed-array-any-number ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-null-closed-array-any-string ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-null-closed-array-any-object ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-null-closed-array-any-array ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-null-closed-array-object ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-null-closed-array-object2 ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-null-closed-array-array ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-null-closed-array-array2 ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["null"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "null"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "null"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-boolean-closed-array-any-type ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type","type"]}]}
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type","null"]}]}
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type","boolean"]}]}
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type","number"]}]}
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type","string"]}]}
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type","object"]}]}
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type","array"]}]}
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type",{"type":"object","args":[]
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type",{"type":"object","args":[{
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type",{"type":"array","args":"ty
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:84: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:84: lean"]},{"type":"array","args":["type",{"type":"array","args":["n
json: error: <stdin>:1:84:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-boolean-closed-array-any-null ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-boolean-closed-array-any-boolean ]--------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-boolean-closed-array-any-number ]---------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-boolean-closed-array-any-string ]---------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-boolean-closed-array-any-object ]---------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-boolean-closed-array-any-array ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-boolean-closed-array-object ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-boolean-closed-array-object2 ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-boolean-closed-array-array ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-boolean-closed-array-array2 ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["boolean"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "boolean"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "boolean"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-number-closed-array-any-type ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type","type"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type","null"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type","boolean"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type","number"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type","string"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type","object"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type","array"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type",{"type":"object","args":[]
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type",{"type":"object","args":[{
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type",{"type":"array","args":"ty
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: mber"]},{"type":"array","args":["type",{"type":"array","args":["n
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-number-closed-array-any-null ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-number-closed-array-any-boolean ]---------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-number-closed-array-any-number ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-number-closed-array-any-string ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-number-closed-array-any-object ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-number-closed-array-any-array ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-number-closed-array-object ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-number-closed-array-object2 ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-number-closed-array-array ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-number-closed-array-array2 ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["number"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "number"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "number"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-string-closed-array-any-type ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type","type"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type","null"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type","boolean"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type","number"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type","string"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type","object"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type","array"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type",{"type":"object","args":[]
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type",{"type":"object","args":[{
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type",{"type":"array","args":"ty
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ring"]},{"type":"array","args":["type",{"type":"array","args":["n
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-string-closed-array-any-null ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-string-closed-array-any-boolean ]---------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-string-closed-array-any-number ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-string-closed-array-any-string ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-string-closed-array-any-object ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-string-closed-array-any-array ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-string-closed-array-object ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-string-closed-array-object2 ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-string-closed-array-array ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-string-closed-array-array2 ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["string"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "string"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "string"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-object-closed-array-any-type ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type","type"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type","null"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type","boolean"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type","number"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type","string"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type","object"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type","array"]}]}
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type",{"type":"object","args":[]
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type",{"type":"object","args":[{
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type",{"type":"array","args":"ty
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":["type",{"type":"array","args":["n
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-object-closed-array-any-null ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-object-closed-array-any-boolean ]---------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-object-closed-array-any-number ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-object-closed-array-any-string ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-object-closed-array-any-object ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-object-closed-array-any-array ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-object-closed-array-object ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]},"type
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]},"null
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]},"bool
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]},"numb
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]},"stri
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]},"obje
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]},"arra
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-object-closed-array-object2 ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:83: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:83: ject"]},{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:83:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-object-closed-array-array ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-object-closed-array-array2 ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["object"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "object"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "object"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-array-closed-array-any-type ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type","type"]}]}
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type","null"]}]}
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type","boolean"]}]}
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type","number"]}]}
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type","string"]}]}
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type","object"]}]}
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type","array"]}]}
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type",{"type":"object","args":[]
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type",{"type":"object","args":[{
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type",{"type":"array","args":"ty
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":["type",{"type":"array","args":["n
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-array-closed-array-any-null ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-array-closed-array-any-boolean ]----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-array-closed-array-any-number ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-array-closed-array-any-string ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-array-closed-array-any-object ]-----------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-array-closed-array-any-array ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-any-array-closed-array-object ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-array-closed-array-object2 ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-any-array-closed-array-array ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"},"t
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"},"n
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"},"b
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"},"n
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"},"s
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"},"o
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"},"a
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-any-array-closed-array-array2 ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:82: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:48)
json: error: <stdin>:1:82: rray"]},{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:82:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                "array"
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            "array"
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["array"]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-object-closed-array-any-type ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-object-closed-array-any-null ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object-closed-array-any-boolean ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object-closed-array-any-number ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object-closed-array-any-string ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object-closed-array-any-object ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-object-closed-array-any-array ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object-closed-array-object ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object-closed-array-object2 ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:102)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[]}]},{"t
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-object-closed-array-array ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-object-closed-array-array2 ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": []
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": []
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-object2-closed-array-any-type ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-object2-closed-array-any-null ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object2-closed-array-any-boolean ]------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object2-closed-array-any-number ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object2-closed-array-any-string ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object2-closed-array-any-object ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:164)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"object","args":[{"name":
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-object2-closed-array-any-array ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object2-closed-array-object ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]},"type
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]},"null
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]},"bool
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]},"numb
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]},"stri
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]},"obje
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]},"arra
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:164: attribute error: invalid "list" type object: sort of array of object type not yet supported (the other inner object is at 1:48)
json: error: <stdin>:1:164: r"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"typ
json: error: <stdin>:1:164:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-object2-closed-array-object2 ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-object2-closed-array-array ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-object2-closed-array-array2 ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "object",
                                "args": [
                                    {
                                        "name": "bar",
                                        "type": "boolean"
                                    },
                                    {
                                        "name": "baz",
                                        "type": "number"
                                    }
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
$

--[ list-closed-array-array-closed-array-any-type ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-array-closed-array-any-null ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array-closed-array-any-boolean ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array-closed-array-any-number ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array-closed-array-any-string ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array-closed-array-any-object ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array-closed-array-any-array ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-array-closed-array-object ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array-closed-array-object2 ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array-closed-array-array ]--------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array-closed-array-array2 ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:105)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":"type"}]},
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": "type"
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "type": "array",
                        "args": [
                            "number",
                            "object"
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                }
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":"type"}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-array2-closed-array-any-type ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "type",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "type",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "type",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["type",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-array2-closed-array-any-null ]----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["null",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "null",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "null",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "null",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array2-closed-array-any-boolean ]-------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["boolean",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "boolean",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "boolean",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "boolean",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array2-closed-array-any-number ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["number",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "number",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "number",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "number",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array2-closed-array-any-string ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["string",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "string",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "string",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "string",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array2-closed-array-any-object ]--------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object","type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object","null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object","boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object","number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object","string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object","object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object","array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object",{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object",{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["object",{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "object",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "object",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "object",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array2-closed-array-any-array ]---------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array",'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","type"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","null"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","boolean"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","number"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","string"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","object"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","array"]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array","array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array",{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array",{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array",{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:48: attribute error: invalid "list" type object: array argument ambiguity (the other is at 1:118)
json: error: <stdin>:1:48: "args":[{"type":"array","args":[{"type":"array","args":["number",
json: error: <stdin>:1:48:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                "array",
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": "array",
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    "array",
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":["array",{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-array2-closed-array-object ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": []
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": []
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": []
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array2-closed-array-object2 ]-----------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "object",
                        "args": [
                            {
                                "name": "bar",
                                "type": "boolean"
                            },
                            {
                                "name": "baz",
                                "type": "number"
                            }
                        ]
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
$

--[ list-closed-array-array2-closed-array-array ]-------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"},"t
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"type"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"},"n
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"null"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"},"b
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"boolean"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"},"n
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"number"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"},"s
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"string"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"},"o
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"object"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"},"a
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},"array"]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
json: error: <stdin>:1:118: attribute error: invalid "list" type object: sort of array of array type not yet supported (the other inner array is at 1:48)
json: error: <stdin>:1:118: ct"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"
json: error: <stdin>:1:118:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": "type"
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": {
                    "sym": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "eq": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": "type"
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":"type"},{"type":"array","args":["number","object"]}]}]}'
$

--[ list-closed-array-array2-closed-array-array2 ]------------------------------

#
# # meta command:
# $ for t3 in '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"' '{"type":"object","args":[]}' '{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}' '{"type":"array","args":"type"}' '{"type":"array","args":["number","object"]}'; do T='{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},'"$t3"']}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test $? -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"type"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "type"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "type",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "type"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"null"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "null"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "null",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "null"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"boolean"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "boolean"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "boolean",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "boolean"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"number"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "number"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "number",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "number"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"string"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "string"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "string",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "string"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"object"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "object"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "object",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "object"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},"array"]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "array"
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": "array",
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    "array"
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": []
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": []
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": []
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"object","args":[{"name":"bar","type":"boolean"},{"name":"baz","type":"number"}]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "object",
                    "args": [
                        {
                            "name": "bar",
                            "type": "boolean"
                        },
                        {
                            "name": "baz",
                            "type": "number"
                        }
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "bar",
                                    "type": "boolean"
                                },
                                {
                                    "name": "baz",
                                    "type": "number"
                                }
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "bar",
                                                "type": "boolean"
                                            },
                                            {
                                                "name": "baz",
                                                "type": "number"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":"type"}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": "type"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": "type"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": "type"
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$ json <<< '{"type":"list","args":[{"type":"array","args":[{"type":"array","args":["number","object"]}]},{"type":"array","args":[{"type":"array","args":["number","object"]},{"type":"array","args":["number","object"]}]}]}'
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        },
        {
            "type": "array",
            "args": [
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": null,
            "closed": {
                "sym": {
                    "type": "array",
                    "args": [
                        "number",
                        "object"
                    ]
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": [
                            {
                                "type": "array",
                                "args": [
                                    "number",
                                    "object"
                                ]
                            }
                        ]
                    },
                    "lo": null,
                    "hi": {
                        "sym": {
                            "type": "array",
                            "args": [
                                "number",
                                "object"
                            ]
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "type": "array",
                                "args": [
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    },
                                    {
                                        "type": "array",
                                        "args": [
                                            "number",
                                            "object"
                                        ]
                                    }
                                ]
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                },
                "hi": null
            }
        }
    }
}
$

#
# # end of meta meta command
#

--[ list-closed-array-empty-open-array-any ]------------------------------------

#
# # meta command:
# $ for t in type null boolean number string object array; do T='{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"'"$t"'"}]}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"type"}]}'
json: error: <stdin>:1:74: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:24)
json: error: <stdin>:1:74: rgs":[]},{"type":"array","args":"type"}]}
json: error: <stdin>:1:74:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": []
        },
        {
            "type": "array",
            "args": "type"
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "type",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "type"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"type"}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"null"}]}'
json: error: <stdin>:1:74: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:24)
json: error: <stdin>:1:74: rgs":[]},{"type":"array","args":"null"}]}
json: error: <stdin>:1:74:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": []
        },
        {
            "type": "array",
            "args": "null"
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "null",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"null"}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"boolean"}]}'
json: error: <stdin>:1:74: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:24)
json: error: <stdin>:1:74: rgs":[]},{"type":"array","args":"boolean"}]}
json: error: <stdin>:1:74:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": []
        },
        {
            "type": "array",
            "args": "boolean"
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "boolean",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "boolean"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"boolean"}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"number"}]}'
json: error: <stdin>:1:74: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:24)
json: error: <stdin>:1:74: rgs":[]},{"type":"array","args":"number"}]}
json: error: <stdin>:1:74:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": []
        },
        {
            "type": "array",
            "args": "number"
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "number",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "number"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"number"}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"string"}]}'
json: error: <stdin>:1:74: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:24)
json: error: <stdin>:1:74: rgs":[]},{"type":"array","args":"string"}]}
json: error: <stdin>:1:74:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": []
        },
        {
            "type": "array",
            "args": "string"
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "string",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "string"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"string"}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"object"}]}'
json: error: <stdin>:1:74: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:24)
json: error: <stdin>:1:74: rgs":[]},{"type":"array","args":"object"}]}
json: error: <stdin>:1:74:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": []
        },
        {
            "type": "array",
            "args": "object"
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "object",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "object"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"object"}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"array"}]}'
json: error: <stdin>:1:74: attribute error: invalid "list" type object: array ambiguity (the other defined at 1:24)
json: error: <stdin>:1:74: rgs":[]},{"type":"array","args":"array"}]}
json: error: <stdin>:1:74:                                 ^
{
    "type": "list",
    "args": [
        {
            "type": "array",
            "args": []
        },
        {
            "type": "array",
            "args": "array"
        }
    ],
    "attr": {
        "any": null,
        "plain": null,
        "object": null,
        "array": {
            "open": {
                "sym": "array",
                "lo": null,
                "eq": {
                    "val": {
                        "type": "array",
                        "args": "array"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "closed": {
                "val": {
                    "type": "array",
                    "args": []
                },
                "lo": null,
                "hi": null
            }
        }
    }
}
command failed: json <<< '{"type":"list","args":[{"type":"array","args":[]},{"type":"array","args":"array"}]}'
$

--[ list-list ]-----------------------------------------------------------------

$ json <<< '{"type":"list","args":[{"type":"list","args":[]}]}'
json: error: <stdin>:1:24: attribute error: invalid "list" type object: element is a "list" (the outer "list" begins at 1:1)
json: error: <stdin>:1:24: {"type":"list","args":[{"type":"list","args":[]}]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":[{"type":"list","args":[]}]}'
$ json <<< '{"type":"list","args":[{"type":"list","args":[{"type":"list","args":[]}]}]}'
json: error: <stdin>:1:24: attribute error: invalid "list" type object: element is a "list" (the outer "list" begins at 1:1)
json: error: <stdin>:1:24: {"type":"list","args":[{"type":"list","args":[{"type":"l
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":[{"type":"list","args":[{"type":"list","args":[]}]}]}'
$ json <<< '{"type":"list","args":["boolean",{"type":"list","args":[{"type":"list","args":[]}]}]}'
json: error: <stdin>:1:34: attribute error: invalid "list" type object: element is a "list" (the outer "list" begins at 1:1)
json: error: <stdin>:1:34: "type":"list","args":["boolean",{"type":"list","args":[{"type":"l
json: error: <stdin>:1:34:                                 ^
command failed: json <<< '{"type":"list","args":["boolean",{"type":"list","args":[{"type":"list","args":[]}]}]}'
$ json <<< '{"type":"list","args":["boolean",{"type":"list","args":[]}]}'
json: error: <stdin>:1:34: attribute error: invalid "list" type object: element is a "list" (the outer "list" begins at 1:1)
json: error: <stdin>:1:34: "type":"list","args":["boolean",{"type":"list","args":[]}]}
json: error: <stdin>:1:34:                                 ^
command failed: json <<< '{"type":"list","args":["boolean",{"type":"list","args":[]}]}'
$ json <<< '{"type":"list","args":["boolean",{"type":"array","args":"number"},{"type":"list","args":[]}]}'
json: error: <stdin>:1:67: attribute error: invalid "list" type object: element is a "list" (the outer "list" begins at 1:1)
json: error: <stdin>:1:67: "type":"array","args":"number"},{"type":"list","args":[]}]}
json: error: <stdin>:1:67:                                 ^
command failed: json <<< '{"type":"list","args":["boolean",{"type":"array","args":"number"},{"type":"list","args":[]}]}'
$ json <<< '{"type":"list","args":["boolean",{"type":"array","args":"number"},{"type":"list","args":[{"type":"list","args":[]}]}]}'
json: error: <stdin>:1:67: attribute error: invalid "list" type object: element is a "list" (the outer "list" begins at 1:1)
json: error: <stdin>:1:67: "type":"array","args":"number"},{"type":"list","args":[{"type":"l
json: error: <stdin>:1:67:                                 ^
command failed: json <<< '{"type":"list","args":["boolean",{"type":"array","args":"number"},{"type":"list","args":[{"type":"list","args":[]}]}]}'
$

--[ list-dict ]-----------------------------------------------------------------

$ json <<< '{"type":"list","args":[{"type":"dict","args":[]}]}'
json: error: <stdin>:1:24: attribute error: invalid "list" type object: element is a "dict" (the "list" begins at 1:1)
json: error: <stdin>:1:24: {"type":"list","args":[{"type":"dict","args":[]}]}
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":[{"type":"dict","args":[]}]}'
$ json <<< '{"type":"list","args":[{"type":"dict","args":[{"name":"foo","type":{"type":"dict","args":[]}}]}]}'
json: error: <stdin>:1:24: attribute error: invalid "list" type object: element is a "dict" (the "list" begins at 1:1)
json: error: <stdin>:1:24: {"type":"list","args":[{"type":"dict","args":[{"name":"f
json: error: <stdin>:1:24:                        ^
command failed: json <<< '{"type":"list","args":[{"type":"dict","args":[{"name":"foo","type":{"type":"dict","args":[]}}]}]}'
$ json <<< '{"type":"list","args":["boolean",{"type":"dict","args":[{"name":"foo","type":{"type":"dict","args":[]}}]}]}'
json: error: <stdin>:1:34: attribute error: invalid "list" type object: element is a "dict" (the "list" begins at 1:1)
json: error: <stdin>:1:34: "type":"list","args":["boolean",{"type":"dict","args":[{"name":"f
json: error: <stdin>:1:34:                                 ^
command failed: json <<< '{"type":"list","args":["boolean",{"type":"dict","args":[{"name":"foo","type":{"type":"dict","args":[]}}]}]}'
$ json <<< '{"type":"list","args":["boolean",{"type":"dict","args":[]}]}'
json: error: <stdin>:1:34: attribute error: invalid "list" type object: element is a "dict" (the "list" begins at 1:1)
json: error: <stdin>:1:34: "type":"list","args":["boolean",{"type":"dict","args":[]}]}
json: error: <stdin>:1:34:                                 ^
command failed: json <<< '{"type":"list","args":["boolean",{"type":"dict","args":[]}]}'
$ json <<< '{"type":"list","args":["boolean",{"type":"array","args":"number"},{"type":"dict","args":[]}]}'
json: error: <stdin>:1:67: attribute error: invalid "list" type object: element is a "dict" (the "list" begins at 1:1)
json: error: <stdin>:1:67: "type":"array","args":"number"},{"type":"dict","args":[]}]}
json: error: <stdin>:1:67:                                 ^
command failed: json <<< '{"type":"list","args":["boolean",{"type":"array","args":"number"},{"type":"dict","args":[]}]}'
$ json <<< '{"type":"list","args":["boolean",{"type":"array","args":"number"},{"type":"dict","args":[{"name":"foo","type":{"type":"dict","args":[]}}]}]}'
json: error: <stdin>:1:67: attribute error: invalid "list" type object: element is a "dict" (the "list" begins at 1:1)
json: error: <stdin>:1:67: "type":"array","args":"number"},{"type":"dict","args":[{"name":"f
json: error: <stdin>:1:67:                                 ^
command failed: json <<< '{"type":"list","args":["boolean",{"type":"array","args":"number"},{"type":"dict","args":[{"name":"foo","type":{"type":"dict","args":[]}}]}]}'
$

--[ list-dup ]------------------------------------------------------------------

#
# # meta command:
# $ for v in '{"plain":null}' '{"plain":false}' '{"plain":true}' '{"plain":123}' '{"plain":"foo"}' '"type"' '"null"' '"boolean"' '"number"' '"string"' '"object"' '"array"'; do T='{"type":"list","args":['"$v"','"$v"']}'; c="json <<< '$T'"; echo "$ $c"; eval "$c"; test "$?" -ne 0 && echo "command failed: $c"; done
#
$ json <<< '{"type":"list","args":[{"plain":null},{"plain":null}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":null},{"plain":null}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":null},{"plain":null}]}'
$ json <<< '{"type":"list","args":[{"plain":false},{"plain":false}]}'
json: error: <stdin>:1:40: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:40: :"list","args":[{"plain":false},{"plain":false}]}
json: error: <stdin>:1:40:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":false},{"plain":false}]}'
$ json <<< '{"type":"list","args":[{"plain":true},{"plain":true}]}'
json: error: <stdin>:1:39: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:39: ":"list","args":[{"plain":true},{"plain":true}]}
json: error: <stdin>:1:39:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":true},{"plain":true}]}'
$ json <<< '{"type":"list","args":[{"plain":123},{"plain":123}]}'
json: error: <stdin>:1:38: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:38: e":"list","args":[{"plain":123},{"plain":123}]}
json: error: <stdin>:1:38:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":123},{"plain":123}]}'
$ json <<< '{"type":"list","args":[{"plain":"foo"},{"plain":"foo"}]}'
json: error: <stdin>:1:40: attribute error: invalid "list" type object: duplicated 'plain' entry (previous defined at 1:24)
json: error: <stdin>:1:40: :"list","args":[{"plain":"foo"},{"plain":"foo"}]}
json: error: <stdin>:1:40:                                 ^
command failed: json <<< '{"type":"list","args":[{"plain":"foo"},{"plain":"foo"}]}'
$ json <<< '{"type":"list","args":["type","type"]}'
json: error: <stdin>:1:31: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:31: {"type":"list","args":["type","type"]}
json: error: <stdin>:1:31:                               ^
command failed: json <<< '{"type":"list","args":["type","type"]}'
$ json <<< '{"type":"list","args":["null","null"]}'
json: error: <stdin>:1:31: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:31: {"type":"list","args":["null","null"]}
json: error: <stdin>:1:31:                               ^
command failed: json <<< '{"type":"list","args":["null","null"]}'
$ json <<< '{"type":"list","args":["boolean","boolean"]}'
json: error: <stdin>:1:34: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:34: "type":"list","args":["boolean","boolean"]}
json: error: <stdin>:1:34:                                 ^
command failed: json <<< '{"type":"list","args":["boolean","boolean"]}'
$ json <<< '{"type":"list","args":["number","number"]}'
json: error: <stdin>:1:33: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:33: {"type":"list","args":["number","number"]}
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '{"type":"list","args":["number","number"]}'
$ json <<< '{"type":"list","args":["string","string"]}'
json: error: <stdin>:1:33: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:33: {"type":"list","args":["string","string"]}
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '{"type":"list","args":["string","string"]}'
$ json <<< '{"type":"list","args":["object","object"]}'
json: error: <stdin>:1:33: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:33: {"type":"list","args":["object","object"]}
json: error: <stdin>:1:33:                                 ^
command failed: json <<< '{"type":"list","args":["object","object"]}'
$ json <<< '{"type":"list","args":["array","array"]}'
json: error: <stdin>:1:32: attribute error: invalid "list" type object: duplicated 'any' entry (previous defined at 1:24)
json: error: <stdin>:1:32: {"type":"list","args":["array","array"]}
json: error: <stdin>:1:32:                                ^
command failed: json <<< '{"type":"list","args":["array","array"]}'
$ json <<< '{"type":"list","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}'
json: error: <stdin>:1:52: attribute error: invalid "list" type object: duplicated 'object' entry (previous defined at 1:24)
json: error: <stdin>:1:52: s":[{"type":"object","args":[]},{"type":"object","args":[]}]}
json: error: <stdin>:1:52:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"object","args":[]},{"type":"object","args":[]}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}'
json: error: <stdin>:1:55: attribute error: invalid "list" type object: duplicated 'open array' entry (previous defined at 1:24)
json: error: <stdin>:1:55: [{"type":"array","args":"type"},{"type":"array","args":"type"}]}
json: error: <stdin>:1:55:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"array","args":"type"},{"type":"array","args":"type"}]}'
$ json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type"]}]}'
json: error: <stdin>:1:57: attribute error: invalid "list" type object: duplicated 'closed array' entry (previous defined at 1:24)
json: error: <stdin>:1:57: "type":"array","args":["type"]},{"type":"array","args":["type"]}]
json: error: <stdin>:1:57:                                 ^
command failed: json <<< '{"type":"list","args":[{"type":"array","args":["type"]},{"type":"array","args":["type"]}]}'
$

--[ obj-type-first-key ]--------------------------------------------------------

#
# # meta command:
# $ for n in name plain type; do for((k=1;k<=${#n};k++)); do c0="json <<< '{\"${n:0:$k}%s\":0}'"; for s in '' '?'; do printf -v c "$c0" "$s"; echo "$ $c"; eval "$c"; done; done; done
#
$ json <<< '{"n":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"n":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"n":0}'
$ json <<< '{"n?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"n?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"n?":0}'
$ json <<< '{"na":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"na":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"na":0}'
$ json <<< '{"na?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"na?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"na?":0}'
$ json <<< '{"nam":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"nam":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"nam":0}'
$ json <<< '{"nam?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"nam?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"nam?":0}'
$ json <<< '{"name":0}'
json: error: <stdin>:1:1: meta error: invalid "name" object: arguments not of size two
json: error: <stdin>:1:1: {"name":0}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"name":0}'
$ json <<< '{"name?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"name?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"name?":0}'
$ json <<< '{"p":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"p":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"p":0}'
$ json <<< '{"p?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"p?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"p?":0}'
$ json <<< '{"pl":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"pl":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"pl":0}'
$ json <<< '{"pl?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"pl?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"pl?":0}'
$ json <<< '{"pla":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"pla":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"pla":0}'
$ json <<< '{"pla?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"pla?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"pla?":0}'
$ json <<< '{"plai":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"plai":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"plai":0}'
$ json <<< '{"plai?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"plai?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"plai?":0}'
$ json <<< '{"plain":0}'
{
    "plain": 0
}
$ json <<< '{"plain?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"plain?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"plain?":0}'
$ json <<< '{"t":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"t":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"t":0}'
$ json <<< '{"t?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"t?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"t?":0}'
$ json <<< '{"ty":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"ty":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"ty":0}'
$ json <<< '{"ty?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"ty?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"ty?":0}'
$ json <<< '{"typ":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"typ":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"typ":0}'
$ json <<< '{"typ?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"typ?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"typ?":0}'
$ json <<< '{"type":0}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":0}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":0}'
$ json <<< '{"type?":0}'
json: error: <stdin>:1:2: meta error: invalid first key of object: it must be "type", "name" or "plain"
json: error: <stdin>:1:2: {"type?":0}
json: error: <stdin>:1:2:  ^
command failed: json <<< '{"type?":0}'
$

--[ obj-type-name ]-------------------------------------------------------------

#
# # meta command:
# $ for n in array dict list object; do for((k=1;k<=${#n};k++)); do c0="json <<< '{\"type\":\"${n:0:$k}%s\"}'"; for s in '' '?'; do printf -v c "$c0" "$s"; echo "$ $c"; eval "$c"; done; done; done
#
$ json <<< '{"type":"a"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"a"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"a"}'
$ json <<< '{"type":"a?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"a?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"a?"}'
$ json <<< '{"type":"ar"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"ar"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"ar"}'
$ json <<< '{"type":"ar?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"ar?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"ar?"}'
$ json <<< '{"type":"arr"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"arr"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"arr"}'
$ json <<< '{"type":"arr?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"arr?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"arr?"}'
$ json <<< '{"type":"arra"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"arra"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"arra"}'
$ json <<< '{"type":"arra?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"arra?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"arra?"}'
$ json <<< '{"type":"array"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: arguments not of size two
json: error: <stdin>:1:1: {"type":"array"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"array"}'
$ json <<< '{"type":"array?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"array?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"array?"}'
$ json <<< '{"type":"d"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"d"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"d"}'
$ json <<< '{"type":"d?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"d?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"d?"}'
$ json <<< '{"type":"di"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"di"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"di"}'
$ json <<< '{"type":"di?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"di?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"di?"}'
$ json <<< '{"type":"dic"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"dic"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"dic"}'
$ json <<< '{"type":"dic?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"dic?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"dic?"}'
$ json <<< '{"type":"dict"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: arguments not of size two or three
json: error: <stdin>:1:1: {"type":"dict"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"dict"}'
$ json <<< '{"type":"dict?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"dict?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"dict?"}'
$ json <<< '{"type":"l"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"l"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"l"}'
$ json <<< '{"type":"l?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"l?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"l?"}'
$ json <<< '{"type":"li"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"li"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"li"}'
$ json <<< '{"type":"li?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"li?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"li?"}'
$ json <<< '{"type":"lis"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"lis"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"lis"}'
$ json <<< '{"type":"lis?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"lis?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"lis?"}'
$ json <<< '{"type":"list"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: arguments not of size two
json: error: <stdin>:1:1: {"type":"list"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"list"}'
$ json <<< '{"type":"list?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"list?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"list?"}'
$ json <<< '{"type":"o"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"o"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"o"}'
$ json <<< '{"type":"o?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"o?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"o?"}'
$ json <<< '{"type":"ob"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"ob"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"ob"}'
$ json <<< '{"type":"ob?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"ob?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"ob?"}'
$ json <<< '{"type":"obj"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"obj"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"obj"}'
$ json <<< '{"type":"obj?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"obj?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"obj?"}'
$ json <<< '{"type":"obje"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"obje"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"obje"}'
$ json <<< '{"type":"obje?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"obje?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"obje?"}'
$ json <<< '{"type":"objec"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"objec"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"objec"}'
$ json <<< '{"type":"objec?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"objec?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"objec?"}'
$ json <<< '{"type":"object"}'
json: error: <stdin>:1:1: meta error: invalid "type" object: arguments not of size two
json: error: <stdin>:1:1: {"type":"object"}
json: error: <stdin>:1:1: ^
command failed: json <<< '{"type":"object"}'
$ json <<< '{"type":"object?"}'
json: error: <stdin>:1:9: meta error: invalid "type" object: type not "object", "array", "list" or "dict"
json: error: <stdin>:1:9: {"type":"object?"}
json: error: <stdin>:1:9:         ^
command failed: json <<< '{"type":"object?"}'
$

--[ obj-type-basic ]------------------------------------------------------------

#
# # meta command:
# $ for n in null type boolean number string object array; do for((k=1;k<=${#n};k++)); do c0="json <<< '\"${n:0:$k}%s\"'"; for s in '' '?'; do printf -v c "$c0" "$s"; echo "$ $c"; eval "$c"; done; done; done
#
$ json <<< '"n"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "n"
json: error: <stdin>:1:1: ^
command failed: json <<< '"n"'
$ json <<< '"n?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "n?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"n?"'
$ json <<< '"nu"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "nu"
json: error: <stdin>:1:1: ^
command failed: json <<< '"nu"'
$ json <<< '"nu?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "nu?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"nu?"'
$ json <<< '"nul"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "nul"
json: error: <stdin>:1:1: ^
command failed: json <<< '"nul"'
$ json <<< '"nul?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "nul?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"nul?"'
$ json <<< '"null"'
"null"
$ json <<< '"null?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "null?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"null?"'
$ json <<< '"t"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "t"
json: error: <stdin>:1:1: ^
command failed: json <<< '"t"'
$ json <<< '"t?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "t?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"t?"'
$ json <<< '"ty"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "ty"
json: error: <stdin>:1:1: ^
command failed: json <<< '"ty"'
$ json <<< '"ty?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "ty?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"ty?"'
$ json <<< '"typ"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "typ"
json: error: <stdin>:1:1: ^
command failed: json <<< '"typ"'
$ json <<< '"typ?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "typ?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"typ?"'
$ json <<< '"type"'
"type"
$ json <<< '"type?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "type?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"type?"'
$ json <<< '"b"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "b"
json: error: <stdin>:1:1: ^
command failed: json <<< '"b"'
$ json <<< '"b?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "b?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"b?"'
$ json <<< '"bo"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "bo"
json: error: <stdin>:1:1: ^
command failed: json <<< '"bo"'
$ json <<< '"bo?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "bo?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"bo?"'
$ json <<< '"boo"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "boo"
json: error: <stdin>:1:1: ^
command failed: json <<< '"boo"'
$ json <<< '"boo?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "boo?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"boo?"'
$ json <<< '"bool"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "bool"
json: error: <stdin>:1:1: ^
command failed: json <<< '"bool"'
$ json <<< '"bool?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "bool?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"bool?"'
$ json <<< '"boole"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "boole"
json: error: <stdin>:1:1: ^
command failed: json <<< '"boole"'
$ json <<< '"boole?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "boole?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"boole?"'
$ json <<< '"boolea"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "boolea"
json: error: <stdin>:1:1: ^
command failed: json <<< '"boolea"'
$ json <<< '"boolea?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "boolea?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"boolea?"'
$ json <<< '"boolean"'
"boolean"
$ json <<< '"boolean?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "boolean?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"boolean?"'
$ json <<< '"n"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "n"
json: error: <stdin>:1:1: ^
command failed: json <<< '"n"'
$ json <<< '"n?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "n?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"n?"'
$ json <<< '"nu"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "nu"
json: error: <stdin>:1:1: ^
command failed: json <<< '"nu"'
$ json <<< '"nu?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "nu?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"nu?"'
$ json <<< '"num"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "num"
json: error: <stdin>:1:1: ^
command failed: json <<< '"num"'
$ json <<< '"num?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "num?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"num?"'
$ json <<< '"numb"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "numb"
json: error: <stdin>:1:1: ^
command failed: json <<< '"numb"'
$ json <<< '"numb?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "numb?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"numb?"'
$ json <<< '"numbe"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "numbe"
json: error: <stdin>:1:1: ^
command failed: json <<< '"numbe"'
$ json <<< '"numbe?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "numbe?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"numbe?"'
$ json <<< '"number"'
"number"
$ json <<< '"number?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "number?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"number?"'
$ json <<< '"s"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "s"
json: error: <stdin>:1:1: ^
command failed: json <<< '"s"'
$ json <<< '"s?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "s?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"s?"'
$ json <<< '"st"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "st"
json: error: <stdin>:1:1: ^
command failed: json <<< '"st"'
$ json <<< '"st?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "st?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"st?"'
$ json <<< '"str"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "str"
json: error: <stdin>:1:1: ^
command failed: json <<< '"str"'
$ json <<< '"str?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "str?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"str?"'
$ json <<< '"stri"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "stri"
json: error: <stdin>:1:1: ^
command failed: json <<< '"stri"'
$ json <<< '"stri?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "stri?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"stri?"'
$ json <<< '"strin"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "strin"
json: error: <stdin>:1:1: ^
command failed: json <<< '"strin"'
$ json <<< '"strin?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "strin?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"strin?"'
$ json <<< '"string"'
"string"
$ json <<< '"string?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "string?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"string?"'
$ json <<< '"o"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "o"
json: error: <stdin>:1:1: ^
command failed: json <<< '"o"'
$ json <<< '"o?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "o?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"o?"'
$ json <<< '"ob"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "ob"
json: error: <stdin>:1:1: ^
command failed: json <<< '"ob"'
$ json <<< '"ob?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "ob?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"ob?"'
$ json <<< '"obj"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "obj"
json: error: <stdin>:1:1: ^
command failed: json <<< '"obj"'
$ json <<< '"obj?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "obj?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"obj?"'
$ json <<< '"obje"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "obje"
json: error: <stdin>:1:1: ^
command failed: json <<< '"obje"'
$ json <<< '"obje?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "obje?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"obje?"'
$ json <<< '"objec"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "objec"
json: error: <stdin>:1:1: ^
command failed: json <<< '"objec"'
$ json <<< '"objec?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "objec?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"objec?"'
$ json <<< '"object"'
"object"
$ json <<< '"object?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "object?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"object?"'
$ json <<< '"a"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "a"
json: error: <stdin>:1:1: ^
command failed: json <<< '"a"'
$ json <<< '"a?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "a?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"a?"'
$ json <<< '"ar"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "ar"
json: error: <stdin>:1:1: ^
command failed: json <<< '"ar"'
$ json <<< '"ar?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "ar?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"ar?"'
$ json <<< '"arr"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "arr"
json: error: <stdin>:1:1: ^
command failed: json <<< '"arr"'
$ json <<< '"arr?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "arr?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"arr?"'
$ json <<< '"arra"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "arra"
json: error: <stdin>:1:1: ^
command failed: json <<< '"arra"'
$ json <<< '"arra?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "arra?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"arra?"'
$ json <<< '"array"'
"array"
$ json <<< '"array?"'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: "array?"
json: error: <stdin>:1:1: ^
command failed: json <<< '"array?"'
$

--[ obj-type-basic2 ]-----------------------------------------------------------

#
# # meta command:
# $ for n in null type boolean number string object array; do for((k=1;k<=${#n};k++)); do c0="json <<< '[\"${n:0:$k}%s\"]'"; for s in '' '?'; do printf -v c "$c0" "$s"; echo "$ $c"; eval "$c"; done; done; done
#
$ json <<< '["n"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["n"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["n"]'
$ json <<< '["n?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["n?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["n?"]'
$ json <<< '["nu"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["nu"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["nu"]'
$ json <<< '["nu?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["nu?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["nu?"]'
$ json <<< '["nul"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["nul"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["nul"]'
$ json <<< '["nul?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["nul?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["nul?"]'
$ json <<< '["null"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["null"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["null"]'
$ json <<< '["null?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["null?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["null?"]'
$ json <<< '["t"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["t"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["t"]'
$ json <<< '["t?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["t?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["t?"]'
$ json <<< '["ty"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["ty"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["ty"]'
$ json <<< '["ty?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["ty?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["ty?"]'
$ json <<< '["typ"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["typ"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["typ"]'
$ json <<< '["typ?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["typ?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["typ?"]'
$ json <<< '["type"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["type"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["type"]'
$ json <<< '["type?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["type?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["type?"]'
$ json <<< '["b"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["b"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["b"]'
$ json <<< '["b?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["b?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["b?"]'
$ json <<< '["bo"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["bo"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["bo"]'
$ json <<< '["bo?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["bo?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["bo?"]'
$ json <<< '["boo"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["boo"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["boo"]'
$ json <<< '["boo?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["boo?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["boo?"]'
$ json <<< '["bool"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["bool"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["bool"]'
$ json <<< '["bool?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["bool?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["bool?"]'
$ json <<< '["boole"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["boole"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["boole"]'
$ json <<< '["boole?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["boole?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["boole?"]'
$ json <<< '["boolea"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["boolea"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["boolea"]'
$ json <<< '["boolea?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["boolea?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["boolea?"]'
$ json <<< '["boolean"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["boolean"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["boolean"]'
$ json <<< '["boolean?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["boolean?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["boolean?"]'
$ json <<< '["n"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["n"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["n"]'
$ json <<< '["n?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["n?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["n?"]'
$ json <<< '["nu"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["nu"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["nu"]'
$ json <<< '["nu?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["nu?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["nu?"]'
$ json <<< '["num"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["num"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["num"]'
$ json <<< '["num?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["num?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["num?"]'
$ json <<< '["numb"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["numb"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["numb"]'
$ json <<< '["numb?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["numb?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["numb?"]'
$ json <<< '["numbe"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["numbe"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["numbe"]'
$ json <<< '["numbe?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["numbe?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["numbe?"]'
$ json <<< '["number"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["number"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["number"]'
$ json <<< '["number?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["number?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["number?"]'
$ json <<< '["s"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["s"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["s"]'
$ json <<< '["s?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["s?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["s?"]'
$ json <<< '["st"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["st"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["st"]'
$ json <<< '["st?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["st?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["st?"]'
$ json <<< '["str"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["str"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["str"]'
$ json <<< '["str?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["str?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["str?"]'
$ json <<< '["stri"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["stri"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["stri"]'
$ json <<< '["stri?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["stri?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["stri?"]'
$ json <<< '["strin"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["strin"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["strin"]'
$ json <<< '["strin?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["strin?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["strin?"]'
$ json <<< '["string"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["string"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["string"]'
$ json <<< '["string?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["string?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["string?"]'
$ json <<< '["o"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["o"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["o"]'
$ json <<< '["o?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["o?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["o?"]'
$ json <<< '["ob"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["ob"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["ob"]'
$ json <<< '["ob?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["ob?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["ob?"]'
$ json <<< '["obj"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["obj"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["obj"]'
$ json <<< '["obj?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["obj?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["obj?"]'
$ json <<< '["obje"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["obje"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["obje"]'
$ json <<< '["obje?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["obje?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["obje?"]'
$ json <<< '["objec"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["objec"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["objec"]'
$ json <<< '["objec?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["objec?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["objec?"]'
$ json <<< '["object"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["object"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["object"]'
$ json <<< '["object?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["object?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["object?"]'
$ json <<< '["a"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["a"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["a"]'
$ json <<< '["a?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["a?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["a?"]'
$ json <<< '["ar"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["ar"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["ar"]'
$ json <<< '["ar?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["ar?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["ar?"]'
$ json <<< '["arr"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["arr"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["arr"]'
$ json <<< '["arr?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["arr?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["arr?"]'
$ json <<< '["arra"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["arra"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["arra"]'
$ json <<< '["arra?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["arra?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["arra?"]'
$ json <<< '["array"]'
json: error: <stdin>:1:1: meta error: invalid top value: it must be a type or an array of "name" objects
json: error: <stdin>:1:1: ["array"]
json: error: <stdin>:1:1: ^
command failed: json <<< '["array"]'
$ json <<< '["array?"]'
json: error: <stdin>:1:2: meta error: invalid array: element is neither a type nor a "name" object
json: error: <stdin>:1:2: ["array?"]
json: error: <stdin>:1:2:  ^
command failed: json <<< '["array?"]'
$

--[ obj-type-basic3 ]-----------------------------------------------------------

#
# # meta command:
# $ for n in null type boolean number string object array; do for((k=1;k<=${#n};k++)); do c0="json <<< '[{\"name\":\"foo\",\"type\":\"${n:0:$k}%s\"}]'"; for s in '' '?'; do printf -v c "$c0" "$s"; echo "$ $c"; eval "$c"; done; done; done
#
$ json <<< '[{"name":"foo","type":"n"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"n"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"n"}]'
$ json <<< '[{"name":"foo","type":"n?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"n?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"n?"}]'
$ json <<< '[{"name":"foo","type":"nu"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"nu"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"nu"}]'
$ json <<< '[{"name":"foo","type":"nu?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"nu?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"nu?"}]'
$ json <<< '[{"name":"foo","type":"nul"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"nul"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"nul"}]'
$ json <<< '[{"name":"foo","type":"nul?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"nul?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"nul?"}]'
$ json <<< '[{"name":"foo","type":"null"}]'
[
    {
        "name": "foo",
        "type": "null"
    }
]
$ json <<< '[{"name":"foo","type":"null?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"null?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"null?"}]'
$ json <<< '[{"name":"foo","type":"t"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"t"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"t"}]'
$ json <<< '[{"name":"foo","type":"t?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"t?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"t?"}]'
$ json <<< '[{"name":"foo","type":"ty"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"ty"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"ty"}]'
$ json <<< '[{"name":"foo","type":"ty?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"ty?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"ty?"}]'
$ json <<< '[{"name":"foo","type":"typ"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"typ"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"typ"}]'
$ json <<< '[{"name":"foo","type":"typ?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"typ?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"typ?"}]'
$ json <<< '[{"name":"foo","type":"type"}]'
[
    {
        "name": "foo",
        "type": "type"
    }
]
$ json <<< '[{"name":"foo","type":"type?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"type?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"type?"}]'
$ json <<< '[{"name":"foo","type":"b"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"b"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"b"}]'
$ json <<< '[{"name":"foo","type":"b?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"b?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"b?"}]'
$ json <<< '[{"name":"foo","type":"bo"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"bo"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"bo"}]'
$ json <<< '[{"name":"foo","type":"bo?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"bo?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"bo?"}]'
$ json <<< '[{"name":"foo","type":"boo"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"boo"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"boo"}]'
$ json <<< '[{"name":"foo","type":"boo?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"boo?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"boo?"}]'
$ json <<< '[{"name":"foo","type":"bool"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"bool"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"bool"}]'
$ json <<< '[{"name":"foo","type":"bool?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"bool?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"bool?"}]'
$ json <<< '[{"name":"foo","type":"boole"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"boole"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"boole"}]'
$ json <<< '[{"name":"foo","type":"boole?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"boole?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"boole?"}]'
$ json <<< '[{"name":"foo","type":"boolea"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"boolea"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"boolea"}]'
$ json <<< '[{"name":"foo","type":"boolea?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"boolea?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"boolea?"}]'
$ json <<< '[{"name":"foo","type":"boolean"}]'
[
    {
        "name": "foo",
        "type": "boolean"
    }
]
$ json <<< '[{"name":"foo","type":"boolean?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"boolean?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"boolean?"}]'
$ json <<< '[{"name":"foo","type":"n"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"n"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"n"}]'
$ json <<< '[{"name":"foo","type":"n?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"n?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"n?"}]'
$ json <<< '[{"name":"foo","type":"nu"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"nu"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"nu"}]'
$ json <<< '[{"name":"foo","type":"nu?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"nu?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"nu?"}]'
$ json <<< '[{"name":"foo","type":"num"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"num"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"num"}]'
$ json <<< '[{"name":"foo","type":"num?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"num?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"num?"}]'
$ json <<< '[{"name":"foo","type":"numb"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"numb"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"numb"}]'
$ json <<< '[{"name":"foo","type":"numb?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"numb?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"numb?"}]'
$ json <<< '[{"name":"foo","type":"numbe"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"numbe"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"numbe"}]'
$ json <<< '[{"name":"foo","type":"numbe?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"numbe?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"numbe?"}]'
$ json <<< '[{"name":"foo","type":"number"}]'
[
    {
        "name": "foo",
        "type": "number"
    }
]
$ json <<< '[{"name":"foo","type":"number?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"number?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"number?"}]'
$ json <<< '[{"name":"foo","type":"s"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"s"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"s"}]'
$ json <<< '[{"name":"foo","type":"s?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"s?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"s?"}]'
$ json <<< '[{"name":"foo","type":"st"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"st"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"st"}]'
$ json <<< '[{"name":"foo","type":"st?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"st?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"st?"}]'
$ json <<< '[{"name":"foo","type":"str"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"str"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"str"}]'
$ json <<< '[{"name":"foo","type":"str?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"str?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"str?"}]'
$ json <<< '[{"name":"foo","type":"stri"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"stri"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"stri"}]'
$ json <<< '[{"name":"foo","type":"stri?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"stri?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"stri?"}]'
$ json <<< '[{"name":"foo","type":"strin"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"strin"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"strin"}]'
$ json <<< '[{"name":"foo","type":"strin?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"strin?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"strin?"}]'
$ json <<< '[{"name":"foo","type":"string"}]'
[
    {
        "name": "foo",
        "type": "string"
    }
]
$ json <<< '[{"name":"foo","type":"string?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"string?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"string?"}]'
$ json <<< '[{"name":"foo","type":"o"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"o"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"o"}]'
$ json <<< '[{"name":"foo","type":"o?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"o?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"o?"}]'
$ json <<< '[{"name":"foo","type":"ob"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"ob"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"ob"}]'
$ json <<< '[{"name":"foo","type":"ob?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"ob?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"ob?"}]'
$ json <<< '[{"name":"foo","type":"obj"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"obj"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"obj"}]'
$ json <<< '[{"name":"foo","type":"obj?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"obj?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"obj?"}]'
$ json <<< '[{"name":"foo","type":"obje"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"obje"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"obje"}]'
$ json <<< '[{"name":"foo","type":"obje?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"obje?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"obje?"}]'
$ json <<< '[{"name":"foo","type":"objec"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"objec"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"objec"}]'
$ json <<< '[{"name":"foo","type":"objec?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"objec?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"objec?"}]'
$ json <<< '[{"name":"foo","type":"object"}]'
[
    {
        "name": "foo",
        "type": "object"
    }
]
$ json <<< '[{"name":"foo","type":"object?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"object?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"object?"}]'
$ json <<< '[{"name":"foo","type":"a"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"a"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"a"}]'
$ json <<< '[{"name":"foo","type":"a?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"a?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"a?"}]'
$ json <<< '[{"name":"foo","type":"ar"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"ar"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"ar"}]'
$ json <<< '[{"name":"foo","type":"ar?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"ar?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"ar?"}]'
$ json <<< '[{"name":"foo","type":"arr"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"arr"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"arr"}]'
$ json <<< '[{"name":"foo","type":"arr?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"arr?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"arr?"}]'
$ json <<< '[{"name":"foo","type":"arra"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"arra"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"arra"}]'
$ json <<< '[{"name":"foo","type":"arra?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"arra?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"arra?"}]'
$ json <<< '[{"name":"foo","type":"array"}]'
[
    {
        "name": "foo",
        "type": "array"
    }
]
$ json <<< '[{"name":"foo","type":"array?"}]'
json: error: <stdin>:1:23: meta error: invalid "name" object: its "type" argument must be a type
json: error: <stdin>:1:23: [{"name":"foo","type":"array?"}]
json: error: <stdin>:1:23:                       ^
command failed: json <<< '[{"name":"foo","type":"array?"}]'
$

--[ json-type ]-----------------------------------------------------------------

# $ ht() { sed -r ':0;s/^( *)\t/\1    /;t0' ${1:+"$1"}; }
# $ jpp -c ../lib/json-type.json|ht >json-type.json
$ json json-type.json
json: error: json-type.json:11:9: attribute error: invalid "list" type object: sort of object of list type not yet supported (the inner list is at 16:29)
json: error: json-type.json:11:9:   { "plain": "array" },\n        {\n            "type": "object",\n 
json: error: json-type.json:11:9:                                  ^
{
    "type": "list",
    "args": [
        {
            "plain": "type"
        },
        {
            "plain": "null"
        },
        {
            "plain": "boolean"
        },
        {
            "plain": "number"
        },
        {
            "plain": "string"
        },
        {
            "plain": "object"
        },
        {
            "plain": "array"
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "plain",
                    "type": {
                        "type": "list",
                        "args": [
                            "null",
                            "boolean",
                            "number",
                            "string"
                        ],
                        "attr": {
                            "any": {
                                "sym": "null",
                                "lo": null,
                                "eq": {
                                    "val": "null",
                                    "lo": null,
                                    "hi": null
                                },
                                "hi": {
                                    "sym": "boolean",
                                    "lo": null,
                                    "eq": {
                                        "val": "boolean",
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": {
                                        "sym": "number",
                                        "lo": null,
                                        "eq": {
                                            "val": "number",
                                            "lo": null,
                                            "hi": null
                                        },
                                        "hi": {
                                            "sym": "string",
                                            "lo": null,
                                            "eq": {
                                                "val": "string",
                                                "lo": null,
                                                "hi": null
                                            },
                                            "hi": null
                                        }
                                    }
                                }
                            },
                            "plain": null,
                            "object": null,
                            "array": {
                                "open": null,
                                "closed": null
                            }
                        }
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "type",
                    "type": {
                        "plain": "object"
                    }
                },
                {
                    "name": "args",
                    "type": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "name": "type",
                                    "type": "type"
                                }
                            ]
                        }
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "type",
                    "type": {
                        "plain": "array"
                    }
                },
                {
                    "name": "args",
                    "type": {
                        "type": "list",
                        "args": [
                            "type",
                            {
                                "type": "array",
                                "args": "type"
                            }
                        ],
                        "attr": {
                            "any": {
                                "sym": "type",
                                "lo": null,
                                "eq": {
                                    "val": "type",
                                    "lo": null,
                                    "hi": null
                                },
                                "hi": null
                            },
                            "plain": null,
                            "object": null,
                            "array": {
                                "open": {
                                    "sym": "type",
                                    "lo": null,
                                    "eq": {
                                        "val": {
                                            "type": "array",
                                            "args": "type"
                                        },
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "closed": null
                            }
                        }
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "type",
                    "type": {
                        "plain": "list"
                    }
                },
                {
                    "name": "args",
                    "type": {
                        "type": "array",
                        "args": "type"
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "type",
                    "type": {
                        "plain": "dict"
                    }
                },
                {
                    "name": "args",
                    "type": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "name": "type",
                                    "type": "type"
                                }
                            ]
                        }
                    }
                }
            ]
        },
        {
            "type": "object",
            "args": [
                {
                    "name": "type",
                    "type": {
                        "plain": "dict"
                    }
                },
                {
                    "name": "args",
                    "type": {
                        "type": "array",
                        "args": {
                            "type": "object",
                            "args": [
                                {
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "name": "type",
                                    "type": "type"
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "expr",
                    "type": "string"
                }
            ]
        }
    ],
    "attr": {
        "any": null,
        "plain": {
            "sym": {
                "plain": "type"
            },
            "lo": {
                "sym": {
                    "plain": "null"
                },
                "lo": {
                    "sym": {
                        "plain": "boolean"
                    },
                    "lo": {
                        "sym": {
                            "plain": "array"
                        },
                        "lo": null,
                        "eq": {
                            "val": {
                                "plain": "array"
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    },
                    "eq": {
                        "val": {
                            "plain": "boolean"
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": null
                },
                "eq": {
                    "val": {
                        "plain": "null"
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": {
                    "sym": {
                        "plain": "number"
                    },
                    "lo": null,
                    "eq": {
                        "val": {
                            "plain": "number"
                        },
                        "lo": null,
                        "hi": null
                    },
                    "hi": {
                        "sym": {
                            "plain": "string"
                        },
                        "lo": {
                            "sym": {
                                "plain": "object"
                            },
                            "lo": null,
                            "eq": {
                                "val": {
                                    "plain": "object"
                                },
                                "lo": null,
                                "hi": null
                            },
                            "hi": null
                        },
                        "eq": {
                            "val": {
                                "plain": "string"
                            },
                            "lo": null,
                            "hi": null
                        },
                        "hi": null
                    }
                }
            },
            "eq": {
                "val": {
                    "plain": "type"
                },
                "lo": null,
                "hi": null
            },
            "hi": null
        },
        "object": {
            "sym": {
                "name": "plain"
            },
            "lo": null,
            "eq": {
                "sym": {
                    "node": {
                        "type": "list",
                        "args": [
                            "null",
                            "boolean",
                            "number",
                            "string"
                        ]
                    }
                },
                "lo": null,
                "eq": {
                    "val": {
                        "type": "object",
                        "args": [
                            {
                                "name": "plain",
                                "type": {
                                    "type": "list",
                                    "args": [
                                        "null",
                                        "boolean",
                                        "number",
                                        "string"
                                    ]
                                }
                            }
                        ]
                    },
                    "lo": null,
                    "hi": null
                },
                "hi": null
            },
            "hi": {
                "sym": {
                    "name": "type"
                },
                "lo": null,
                "eq": {
                    "sym": {
                        "node": {
                            "plain": "object"
                        }
                    },
                    "lo": {
                        "sym": {
                            "node": {
                                "plain": "array"
                            }
                        },
                        "lo": null,
                        "eq": {
                            "sym": {
                                "name": "args"
                            },
                            "lo": null,
                            "eq": {
                                "sym": {
                                    "node": {
                                        "type": "list",
                                        "args": [
                                            "type",
                                            {
                                                "type": "array",
                                                "args": "type"
                                            }
                                        ]
                                    }
                                },
                                "lo": null,
                                "eq": {
                                    "val": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "type",
                                                "type": {
                                                    "plain": "array"
                                                }
                                            },
                                            {
                                                "name": "args",
                                                "type": {
                                                    "type": "list",
                                                    "args": [
                                                        "type",
                                                        {
                                                            "type": "array",
                                                            "args": "type"
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    },
                                    "lo": null,
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        },
                        "hi": {
                            "sym": {
                                "node": {
                                    "plain": "list"
                                }
                            },
                            "lo": {
                                "sym": {
                                    "node": {
                                        "plain": "dict"
                                    }
                                },
                                "lo": null,
                                "eq": {
                                    "sym": {
                                        "name": "args"
                                    },
                                    "lo": null,
                                    "eq": {
                                        "sym": {
                                            "node": {
                                                "type": "array",
                                                "args": {
                                                    "type": "object",
                                                    "args": [
                                                        {
                                                            "name": "name",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "type",
                                                            "type": "type"
                                                        }
                                                    ]
                                                }
                                            }
                                        },
                                        "lo": null,
                                        "eq": {
                                            "val": {
                                                "type": "object",
                                                "args": [
                                                    {
                                                        "name": "type",
                                                        "type": {
                                                            "plain": "dict"
                                                        }
                                                    },
                                                    {
                                                        "name": "args",
                                                        "type": {
                                                            "type": "array",
                                                            "args": {
                                                                "type": "object",
                                                                "args": [
                                                                    {
                                                                        "name": "name",
                                                                        "type": "string"
                                                                    },
                                                                    {
                                                                        "name": "type",
                                                                        "type": "type"
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    }
                                                ]
                                            },
                                            "lo": null,
                                            "hi": {
                                                "sym": {
                                                    "name": "expr"
                                                },
                                                "lo": null,
                                                "eq": {
                                                    "sym": {
                                                        "node": "string"
                                                    },
                                                    "lo": null,
                                                    "eq": {
                                                        "val": {
                                                            "type": "object",
                                                            "args": [
                                                                {
                                                                    "name": "type",
                                                                    "type": {
                                                                        "plain": "dict"
                                                                    }
                                                                },
                                                                {
                                                                    "name": "args",
                                                                    "type": {
                                                                        "type": "array",
                                                                        "args": {
                                                                            "type": "object",
                                                                            "args": [
                                                                                {
                                                                                    "name": "name",
                                                                                    "type": "string"
                                                                                },
                                                                                {
                                                                                    "name": "type",
                                                                                    "type": "type"
                                                                                }
                                                                            ]
                                                                        }
                                                                    }
                                                                },
                                                                {
                                                                    "name": "expr",
                                                                    "type": "string"
                                                                }
                                                            ]
                                                        },
                                                        "lo": null,
                                                        "hi": null
                                                    },
                                                    "hi": null
                                                },
                                                "hi": null
                                            }
                                        },
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "eq": {
                                "sym": {
                                    "name": "args"
                                },
                                "lo": null,
                                "eq": {
                                    "sym": {
                                        "node": {
                                            "type": "array",
                                            "args": "type"
                                        }
                                    },
                                    "lo": null,
                                    "eq": {
                                        "val": {
                                            "type": "object",
                                            "args": [
                                                {
                                                    "name": "type",
                                                    "type": {
                                                        "plain": "list"
                                                    }
                                                },
                                                {
                                                    "name": "args",
                                                    "type": {
                                                        "type": "array",
                                                        "args": "type"
                                                    }
                                                }
                                            ]
                                        },
                                        "lo": null,
                                        "hi": null
                                    },
                                    "hi": null
                                },
                                "hi": null
                            },
                            "hi": null
                        }
                    },
                    "eq": {
                        "sym": {
                            "name": "args"
                        },
                        "lo": null,
                        "eq": {
                            "sym": {
                                "node": {
                                    "type": "array",
                                    "args": {
                                        "type": "object",
                                        "args": [
                                            {
                                                "name": "name",
                                                "type": "string"
                                            },
                                            {
                                                "name": "type",
                                                "type": "type"
                                            }
                                        ]
                                    }
                                }
                            },
                            "lo": null,
                            "eq": {
                                "val": {
                                    "type": "object",
                                    "args": [
                                        {
                                            "name": "type",
                                            "type": {
                                                "plain": "object"
                                            }
                                        },
                                        {
                                            "name": "args",
                                            "type": {
                                                "type": "array",
                                                "args": {
                                                    "type": "object",
                                                    "args": [
                                                        {
                                                            "name": "name",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "type",
                                                            "type": "type"
                                                        }
                                                    ]
                                                }
                                            }
                                        }
                                    ]
                                },
                                "lo": null,
                                "hi": null
                            },
                            "hi": null
                        },
                        "hi": null
                    },
                    "hi": null
                },
                "hi": null
            }
        },
        "array": {
            "open": null,
            "closed": null
        }
    }
}
command failed: json json-type.json
$ json() { LD_LIBRARY_PATH=../lib ../src/json -V "$@"; }
$ json -Tv json-type.json
$ json -Tc json-type.json
json: error: json-type.json:11:9: attribute error: invalid "list" type object: sort of object of list type not yet supported (the inner list is at 16:29)
json: error: json-type.json:11:9:   { "plain": "array" },\n        {\n            "type": "object",\n 
json: error: json-type.json:11:9:                                  ^
command failed: json -Tc json-type.json
$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V "$@"|LD_LIBRARY_PATH=../lib ../src/json --parse-only --verbose; }
$ json -Tp json-type.json
$ json -Ta json-type.json
$

--[ text-type-lib ]-------------------------------------------------------------

$ json -TA libs/test-type/test-type.json
[
    {
        "name": "foo",
        "type": "type"
    }
]
$ json() { LD_LIBRARY_PATH=../lib ../src/json "$@"; }
$ json -Tv libs/test-type/test-type.json
$ json -Tc libs/test-type/test-type.json
$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V "$@"|LD_LIBRARY_PATH=../lib ../src/json --parse-only --verbose; }
$ json -Tp libs/test-type/test-type.json 
$ json -Ta libs/test-type/test-type.json 
$

--[ sobj-type-lib ]-------------------------------------------------------------

$ libs/test-type/test-type.so|sed -r '1s/[0-9]+\.[0-9]+\.[0-9]+/x.y.z/'
test-type.so: library version: x.y.z
$ json -TA libs/test-type/test-type.so
[
    {
        "name": "foo",
        "type": "type"
    }
]
$ json() { LD_LIBRARY_PATH=../lib ../src/json "$@"; }
$ json -Tv libs/test-type/test-type.so
$ json -Tc libs/test-type/test-type.so
$ json() { set -o pipefail && LD_LIBRARY_PATH=../lib ../src/json -V "$@"|LD_LIBRARY_PATH=../lib ../src/json --parse-only --verbose; }
$ json -Tp libs/test-type/test-type.so 
$ json -Ta libs/test-type/test-type.so 
$

--[ github-text-lib ]-----------------------------------------------------------

$ json() { LD_LIBRARY_PATH=../lib ../src/json "$@"; }
$ norm() { sed -r '/^\/\/|^\s*$/d;s/^#/\\\0/' ${1:+"$1"}; }
$ diff -u -Ljson <(json -P libs/github/github.json) -Llib <(json -Tp libs/github/github.json|json -P)
$ json -Td libs/github/github.json|norm
\#define EQ  cell.eq
\#define VAL cell.val
static const struct json_type_node_t __0 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __1 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __2 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __3 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __4 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_object_node_arg_t __5[] = {
    {
        .name = (const uchar_t*) "name",
        .type = &__2
    },
    {
        .name = (const uchar_t*) "email",
        .type = &__3
    },
    {
        .name = (const uchar_t*) "date",
        .type = &__4
    }
};
static const struct json_type_node_t __6 = {
    .type = json_type_object_node_type,
    .node.object = {
        .args = __5,
        .size = 3
    }
};
static const struct json_type_node_t __7 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __8 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __9 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_object_node_arg_t __10[] = {
    {
        .name = (const uchar_t*) "name",
        .type = &__7
    },
    {
        .name = (const uchar_t*) "email",
        .type = &__8
    },
    {
        .name = (const uchar_t*) "date",
        .type = &__9
    }
};
static const struct json_type_node_t __11 = {
    .type = json_type_object_node_type,
    .node.object = {
        .args = __10,
        .size = 3
    }
};
static const struct json_type_node_t __12 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __13 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __14 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_object_node_arg_t __15[] = {
    {
        .name = (const uchar_t*) "sha",
        .type = &__13
    },
    {
        .name = (const uchar_t*) "url",
        .type = &__14
    }
};
static const struct json_type_node_t __16 = {
    .type = json_type_object_node_type,
    .node.object = {
        .args = __15,
        .size = 2
    }
};
static const struct json_type_node_t __17 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __18 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_number_type
    }
};
static const struct json_type_node_t __19 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_boolean_type
    }
};
static const struct json_type_node_t __20 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __21 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_null_type
    }
};
static const struct json_type_node_t __22 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_trie_node_t __23 = {
    .sym = NULL,
    .VAL = &__21
};
static const struct json_type_trie_node_t __24 = {
    .sym = &__21,
    .EQ = &__23
};
static const struct json_type_trie_node_t __25 = {
    .sym = NULL,
    .VAL = &__22
};
static const struct json_type_trie_node_t __26 = {
    .sym = &__22,
    .lo = &__24,
    .EQ = &__25
};
static const struct json_type_trie_t __27 = {
    .root = &__26
};
static const struct json_type_list_attr_t __28 = {
    .any = &__27
};
static const struct json_type_node_t* __29[] = {
    &__21,
    &__22,
    NULL
};
static const struct json_type_node_t __30 = {
    .type = json_type_list_node_type,
    .attr.list = &__28,
    .node.list = {
        .args = __29,
        .size = 2
    }
};
static const struct json_type_node_t __31 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_null_type
    }
};
static const struct json_type_node_t __32 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_trie_node_t __33 = {
    .sym = NULL,
    .VAL = &__31
};
static const struct json_type_trie_node_t __34 = {
    .sym = &__31,
    .EQ = &__33
};
static const struct json_type_trie_node_t __35 = {
    .sym = NULL,
    .VAL = &__32
};
static const struct json_type_trie_node_t __36 = {
    .sym = &__32,
    .lo = &__34,
    .EQ = &__35
};
static const struct json_type_trie_t __37 = {
    .root = &__36
};
static const struct json_type_list_attr_t __38 = {
    .any = &__37
};
static const struct json_type_node_t* __39[] = {
    &__31,
    &__32,
    NULL
};
static const struct json_type_node_t __40 = {
    .type = json_type_list_node_type,
    .attr.list = &__38,
    .node.list = {
        .args = __39,
        .size = 2
    }
};
static const struct json_type_object_node_arg_t __41[] = {
    {
        .name = (const uchar_t*) "verified",
        .type = &__19
    },
    {
        .name = (const uchar_t*) "reason",
        .type = &__20
    },
    {
        .name = (const uchar_t*) "signature",
        .type = &__30
    },
    {
        .name = (const uchar_t*) "payload",
        .type = &__40
    }
};
static const struct json_type_node_t __42 = {
    .type = json_type_object_node_type,
    .node.object = {
        .args = __41,
        .size = 4
    }
};
static const struct json_type_object_node_arg_t __43[] = {
    {
        .name = (const uchar_t*) "author",
        .type = &__6
    },
    {
        .name = (const uchar_t*) "committer",
        .type = &__11
    },
    {
        .name = (const uchar_t*) "message",
        .type = &__12
    },
    {
        .name = (const uchar_t*) "tree",
        .type = &__16
    },
    {
        .name = (const uchar_t*) "url",
        .type = &__17
    },
    {
        .name = (const uchar_t*) "comment_count",
        .type = &__18
    },
    {
        .name = (const uchar_t*) "verification",
        .type = &__42
    }
};
static const struct json_type_node_t __44 = {
    .type = json_type_object_node_type,
    .node.object = {
        .args = __43,
        .size = 7
    }
};
static const struct json_type_node_t __45 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __46 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __47 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __48 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_null_type
    }
};
static const struct json_type_node_t __49 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __50 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __51 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_number_type
    }
};
static const struct json_type_node_t __52 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __53 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __54 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __55 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __56 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __57 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __58 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __59 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __60 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __61 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __62 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __63 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __64 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __65 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __66 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __67 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_boolean_type
    }
};
static const struct json_type_object_node_arg_t __68[] = {
    {
        .name = (const uchar_t*) "login",
        .type = &__50
    },
    {
        .name = (const uchar_t*) "id",
        .type = &__51
    },
    {
        .name = (const uchar_t*) "node_id",
        .type = &__52
    },
    {
        .name = (const uchar_t*) "avatar_url",
        .type = &__53
    },
    {
        .name = (const uchar_t*) "gravatar_id",
        .type = &__54
    },
    {
        .name = (const uchar_t*) "url",
        .type = &__55
    },
    {
        .name = (const uchar_t*) "html_url",
        .type = &__56
    },
    {
        .name = (const uchar_t*) "followers_url",
        .type = &__57
    },
    {
        .name = (const uchar_t*) "following_url",
        .type = &__58
    },
    {
        .name = (const uchar_t*) "gists_url",
        .type = &__59
    },
    {
        .name = (const uchar_t*) "starred_url",
        .type = &__60
    },
    {
        .name = (const uchar_t*) "subscriptions_url",
        .type = &__61
    },
    {
        .name = (const uchar_t*) "organizations_url",
        .type = &__62
    },
    {
        .name = (const uchar_t*) "repos_url",
        .type = &__63
    },
    {
        .name = (const uchar_t*) "events_url",
        .type = &__64
    },
    {
        .name = (const uchar_t*) "received_events_url",
        .type = &__65
    },
    {
        .name = (const uchar_t*) "type",
        .type = &__66
    },
    {
        .name = (const uchar_t*) "site_admin",
        .type = &__67
    }
};
static const struct json_type_node_t __69 = {
    .type = json_type_object_node_type,
    .node.object = {
        .args = __68,
        .size = 18
    }
};
static const struct json_type_trie_node_t __70 = {
    .sym = NULL,
    .VAL = &__48
};
static const struct json_type_trie_node_t __71 = {
    .sym = &__48,
    .EQ = &__70
};
static const struct json_type_trie_node_t __72 = {
    .sym = NULL,
    .VAL = &__49
};
static const struct json_type_trie_node_t __73 = {
    .sym = &__49,
    .lo = &__71,
    .EQ = &__72
};
static const struct json_type_trie_t __74 = {
    .root = &__73
};
static const struct json_type_object_trie_node_t __75 = {
    .sym = {
        .type = json_type_object_sym_null_type
    },
    .VAL = &__69
};
static const struct json_type_object_trie_node_t __76 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__67
    },
    .EQ = &__75
};
static const struct json_type_object_trie_node_t __77 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "site_admin"
    },
    .EQ = &__76
};
static const struct json_type_object_trie_node_t __78 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__66
    },
    .EQ = &__77
};
static const struct json_type_object_trie_node_t __79 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "type"
    },
    .EQ = &__78
};
static const struct json_type_object_trie_node_t __80 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__65
    },
    .EQ = &__79
};
static const struct json_type_object_trie_node_t __81 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "received_events_url"
    },
    .EQ = &__80
};
static const struct json_type_object_trie_node_t __82 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__64
    },
    .EQ = &__81
};
static const struct json_type_object_trie_node_t __83 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "events_url"
    },
    .EQ = &__82
};
static const struct json_type_object_trie_node_t __84 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__63
    },
    .EQ = &__83
};
static const struct json_type_object_trie_node_t __85 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "repos_url"
    },
    .EQ = &__84
};
static const struct json_type_object_trie_node_t __86 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__62
    },
    .EQ = &__85
};
static const struct json_type_object_trie_node_t __87 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "organizations_url"
    },
    .EQ = &__86
};
static const struct json_type_object_trie_node_t __88 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__61
    },
    .EQ = &__87
};
static const struct json_type_object_trie_node_t __89 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "subscriptions_url"
    },
    .EQ = &__88
};
static const struct json_type_object_trie_node_t __90 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__60
    },
    .EQ = &__89
};
static const struct json_type_object_trie_node_t __91 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "starred_url"
    },
    .EQ = &__90
};
static const struct json_type_object_trie_node_t __92 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__59
    },
    .EQ = &__91
};
static const struct json_type_object_trie_node_t __93 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "gists_url"
    },
    .EQ = &__92
};
static const struct json_type_object_trie_node_t __94 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__58
    },
    .EQ = &__93
};
static const struct json_type_object_trie_node_t __95 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "following_url"
    },
    .EQ = &__94
};
static const struct json_type_object_trie_node_t __96 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__57
    },
    .EQ = &__95
};
static const struct json_type_object_trie_node_t __97 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "followers_url"
    },
    .EQ = &__96
};
static const struct json_type_object_trie_node_t __98 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__56
    },
    .EQ = &__97
};
static const struct json_type_object_trie_node_t __99 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "html_url"
    },
    .EQ = &__98
};
static const struct json_type_object_trie_node_t __100 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__55
    },
    .EQ = &__99
};
static const struct json_type_object_trie_node_t __101 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "url"
    },
    .EQ = &__100
};
static const struct json_type_object_trie_node_t __102 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__54
    },
    .EQ = &__101
};
static const struct json_type_object_trie_node_t __103 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "gravatar_id"
    },
    .EQ = &__102
};
static const struct json_type_object_trie_node_t __104 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__53
    },
    .EQ = &__103
};
static const struct json_type_object_trie_node_t __105 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "avatar_url"
    },
    .EQ = &__104
};
static const struct json_type_object_trie_node_t __106 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__52
    },
    .EQ = &__105
};
static const struct json_type_object_trie_node_t __107 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "node_id"
    },
    .EQ = &__106
};
static const struct json_type_object_trie_node_t __108 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__51
    },
    .EQ = &__107
};
static const struct json_type_object_trie_node_t __109 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "id"
    },
    .EQ = &__108
};
static const struct json_type_object_trie_node_t __110 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__50
    },
    .EQ = &__109
};
static const struct json_type_object_trie_node_t __111 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "login"
    },
    .EQ = &__110
};
static const struct json_type_object_trie_t __112 = {
    .root = &__111
};
static const struct json_type_list_attr_t __113 = {
    .any = &__74,
    .object = &__112
};
static const struct json_type_node_t* __114[] = {
    &__48,
    &__49,
    &__69,
    NULL
};
static const struct json_type_node_t __115 = {
    .type = json_type_list_node_type,
    .attr.list = &__113,
    .node.list = {
        .args = __114,
        .size = 3
    }
};
static const struct json_type_node_t __116 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_null_type
    }
};
static const struct json_type_node_t __117 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __118 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __119 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_number_type
    }
};
static const struct json_type_node_t __120 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __121 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __122 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __123 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __124 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __125 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __126 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __127 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __128 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __129 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __130 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __131 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __132 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __133 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __134 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __135 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_boolean_type
    }
};
static const struct json_type_object_node_arg_t __136[] = {
    {
        .name = (const uchar_t*) "login",
        .type = &__118
    },
    {
        .name = (const uchar_t*) "id",
        .type = &__119
    },
    {
        .name = (const uchar_t*) "node_id",
        .type = &__120
    },
    {
        .name = (const uchar_t*) "avatar_url",
        .type = &__121
    },
    {
        .name = (const uchar_t*) "gravatar_id",
        .type = &__122
    },
    {
        .name = (const uchar_t*) "url",
        .type = &__123
    },
    {
        .name = (const uchar_t*) "html_url",
        .type = &__124
    },
    {
        .name = (const uchar_t*) "followers_url",
        .type = &__125
    },
    {
        .name = (const uchar_t*) "following_url",
        .type = &__126
    },
    {
        .name = (const uchar_t*) "gists_url",
        .type = &__127
    },
    {
        .name = (const uchar_t*) "starred_url",
        .type = &__128
    },
    {
        .name = (const uchar_t*) "subscriptions_url",
        .type = &__129
    },
    {
        .name = (const uchar_t*) "organizations_url",
        .type = &__130
    },
    {
        .name = (const uchar_t*) "repos_url",
        .type = &__131
    },
    {
        .name = (const uchar_t*) "events_url",
        .type = &__132
    },
    {
        .name = (const uchar_t*) "received_events_url",
        .type = &__133
    },
    {
        .name = (const uchar_t*) "type",
        .type = &__134
    },
    {
        .name = (const uchar_t*) "site_admin",
        .type = &__135
    }
};
static const struct json_type_node_t __137 = {
    .type = json_type_object_node_type,
    .node.object = {
        .args = __136,
        .size = 18
    }
};
static const struct json_type_trie_node_t __138 = {
    .sym = NULL,
    .VAL = &__116
};
static const struct json_type_trie_node_t __139 = {
    .sym = &__116,
    .EQ = &__138
};
static const struct json_type_trie_node_t __140 = {
    .sym = NULL,
    .VAL = &__117
};
static const struct json_type_trie_node_t __141 = {
    .sym = &__117,
    .lo = &__139,
    .EQ = &__140
};
static const struct json_type_trie_t __142 = {
    .root = &__141
};
static const struct json_type_object_trie_node_t __143 = {
    .sym = {
        .type = json_type_object_sym_null_type
    },
    .VAL = &__137
};
static const struct json_type_object_trie_node_t __144 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__135
    },
    .EQ = &__143
};
static const struct json_type_object_trie_node_t __145 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "site_admin"
    },
    .EQ = &__144
};
static const struct json_type_object_trie_node_t __146 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__134
    },
    .EQ = &__145
};
static const struct json_type_object_trie_node_t __147 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "type"
    },
    .EQ = &__146
};
static const struct json_type_object_trie_node_t __148 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__133
    },
    .EQ = &__147
};
static const struct json_type_object_trie_node_t __149 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "received_events_url"
    },
    .EQ = &__148
};
static const struct json_type_object_trie_node_t __150 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__132
    },
    .EQ = &__149
};
static const struct json_type_object_trie_node_t __151 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "events_url"
    },
    .EQ = &__150
};
static const struct json_type_object_trie_node_t __152 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__131
    },
    .EQ = &__151
};
static const struct json_type_object_trie_node_t __153 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "repos_url"
    },
    .EQ = &__152
};
static const struct json_type_object_trie_node_t __154 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__130
    },
    .EQ = &__153
};
static const struct json_type_object_trie_node_t __155 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "organizations_url"
    },
    .EQ = &__154
};
static const struct json_type_object_trie_node_t __156 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__129
    },
    .EQ = &__155
};
static const struct json_type_object_trie_node_t __157 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "subscriptions_url"
    },
    .EQ = &__156
};
static const struct json_type_object_trie_node_t __158 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__128
    },
    .EQ = &__157
};
static const struct json_type_object_trie_node_t __159 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "starred_url"
    },
    .EQ = &__158
};
static const struct json_type_object_trie_node_t __160 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__127
    },
    .EQ = &__159
};
static const struct json_type_object_trie_node_t __161 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "gists_url"
    },
    .EQ = &__160
};
static const struct json_type_object_trie_node_t __162 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__126
    },
    .EQ = &__161
};
static const struct json_type_object_trie_node_t __163 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "following_url"
    },
    .EQ = &__162
};
static const struct json_type_object_trie_node_t __164 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__125
    },
    .EQ = &__163
};
static const struct json_type_object_trie_node_t __165 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "followers_url"
    },
    .EQ = &__164
};
static const struct json_type_object_trie_node_t __166 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__124
    },
    .EQ = &__165
};
static const struct json_type_object_trie_node_t __167 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "html_url"
    },
    .EQ = &__166
};
static const struct json_type_object_trie_node_t __168 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__123
    },
    .EQ = &__167
};
static const struct json_type_object_trie_node_t __169 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "url"
    },
    .EQ = &__168
};
static const struct json_type_object_trie_node_t __170 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__122
    },
    .EQ = &__169
};
static const struct json_type_object_trie_node_t __171 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "gravatar_id"
    },
    .EQ = &__170
};
static const struct json_type_object_trie_node_t __172 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__121
    },
    .EQ = &__171
};
static const struct json_type_object_trie_node_t __173 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "avatar_url"
    },
    .EQ = &__172
};
static const struct json_type_object_trie_node_t __174 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__120
    },
    .EQ = &__173
};
static const struct json_type_object_trie_node_t __175 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "node_id"
    },
    .EQ = &__174
};
static const struct json_type_object_trie_node_t __176 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__119
    },
    .EQ = &__175
};
static const struct json_type_object_trie_node_t __177 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "id"
    },
    .EQ = &__176
};
static const struct json_type_object_trie_node_t __178 = {
    .sym = {
        .type = json_type_object_sym_node_type,
        .val.node = &__118
    },
    .EQ = &__177
};
static const struct json_type_object_trie_node_t __179 = {
    .sym = {
        .type = json_type_object_sym_name_type,
        .val.name = (const uchar_t*) "login"
    },
    .EQ = &__178
};
static const struct json_type_object_trie_t __180 = {
    .root = &__179
};
static const struct json_type_list_attr_t __181 = {
    .any = &__142,
    .object = &__180
};
static const struct json_type_node_t* __182[] = {
    &__116,
    &__117,
    &__137,
    NULL
};
static const struct json_type_node_t __183 = {
    .type = json_type_list_node_type,
    .attr.list = &__181,
    .node.list = {
        .args = __182,
        .size = 3
    }
};
static const struct json_type_node_t __184 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __185 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_node_t __186 = {
    .type = json_type_any_node_type,
    .node.any = {
        .type = json_type_any_string_type
    }
};
static const struct json_type_object_node_arg_t __187[] = {
    {
        .name = (const uchar_t*) "sha",
        .type = &__184
    },
    {
        .name = (const uchar_t*) "url",
        .type = &__185
    },
    {
        .name = (const uchar_t*) "html_url",
        .type = &__186
    }
};
static const struct json_type_node_t __188 = {
    .type = json_type_object_node_type,
    .node.object = {
        .args = __187,
        .size = 3
    }
};
static const struct json_type_node_t __189 = {
    .type = json_type_array_node_type,
    .node.array = {
        .type = json_type_open_array_node_type,
        .val.open.arg = &__188
    }
};
static const struct json_type_object_node_arg_t __190[] = {
    {
        .name = (const uchar_t*) "sha",
        .type = &__0
    },
    {
        .name = (const uchar_t*) "node_id",
        .type = &__1
    },
    {
        .name = (const uchar_t*) "commit",
        .type = &__44
    },
    {
        .name = (const uchar_t*) "url",
        .type = &__45
    },
    {
        .name = (const uchar_t*) "html_url",
        .type = &__46
    },
    {
        .name = (const uchar_t*) "comments_url",
        .type = &__47
    },
    {
        .name = (const uchar_t*) "author",
        .type = &__115
    },
    {
        .name = (const uchar_t*) "committer",
        .type = &__183
    },
    {
        .name = (const uchar_t*) "parents",
        .type = &__189
    }
};
static const struct json_type_node_t __191 = {
    .type = json_type_object_node_type,
    .node.object = {
        .args = __190,
        .size = 9
    }
};
static const struct json_type_node_t __192 = {
    .type = json_type_array_node_type,
    .node.array = {
        .type = json_type_open_array_node_type,
        .val.open.arg = &__191
    }
};
static const struct json_type_defs_arg_t __193[] = {
    {
        .name = (const uchar_t*) "commits",
        .type = &__192
    }
};
static const struct json_type_defs_t __194 = {
    .args = __193,
    .size = 1
};
static const struct json_type_def_t MODULE_TYPE_DEF = {
    .type = json_type_def_defs_type,
    .val.defs = &__194
};
$ json -Tv libs/github/github.json
$ json -Tc libs/github/github.json
$

--[ github-sobj-lib ]-----------------------------------------------------------

$ json() { LD_LIBRARY_PATH=../lib ../src/json "$@"; }
$ norm() { sed -r '/^\/\/|^\s*$/d' ${1:+"$1"}; }
$ libs/github/github.so|sed -r '1s/[0-9]+\.[0-9]+\.[0-9]+/x.y.z/'
github.so: library version: x.y.z
$ diff -u -Ljson <(json -P libs/github/github.json) -Llib <(json -Tp libs/github/github.so|json -P)
$ json -Tv libs/github/github.so
$ json -Tc libs/github/github.so
$ diff -u -Ltext <(json -Td libs/github/github.json|norm) -Lsobj <(json -Td libs/github/github.so|norm)
$


